1.什么是Redis数据库
完全开源的key-value的高性能数据库
2.数据库分为了关系型数据库和非关系型数据库
2.(1)关系型数据库
有mysql orade 和sql server
是指采用了关系模型来组建数据的数据库
其以行和列的形式来存储数据,以便用户理解
关系型数据库的优缺点
优点:
1.容易理解,贴近逻辑世界的二维表格模型
2.使用方便,丰富的sql语句操作
3.易于维护,具有完整性,大大的降低了数据冗余和数据的不一致的概率
4.支持sql,可用于复杂逻辑的查询
缺点:
1.因为完整性带来了巨大的代价就是读写性能比较差
2.固定的表结构
3.高并发读写需求慢
2.(2)非关系型数据库
常见的有:nosql Redis MonggoDB
他的产生就是为了解决大规模数据集合多重数据类型带来的挑战,可以去快速创建可扩展的存储库
非关系型数据库的优缺点
优点:
1.无需经过sql层的解析,读写性能很高
2.基于键值对,数据没有耦合性,容易扩展
3.nosql数据库(非关系型数据库),存储格式是key-value形式、文档形式、图片形式...
而关系型数据库则只支持基础类型
4.处理高并发、大批量数据的能力强
缺点:
1.没有sql支持,学习成本高
2.事务处理能力弱
3.没有完整性的约束,对于复杂的业务场景支持较差
3.Redis操作
1.打开服务
可以通过命令符输入命令 redis-server.exe
也可以双击打开
2.读写redis数据库
在不关闭服务的前提下,打开另一个cmd窗口
redis-cli.exe
3.读写数据
3.(1) String类型
set name YTZL 设置name为YTZL
get name 获取
String类型是Redis最基本的数据类型,并且是二进制的十分安全,
String类型可以包含任何数据,比如图片或者序列化的对象,
一个键可以存储512MB
3.(2) Hash 哈希
HMSET 对象名 name zhangsan pwd 123 --设置 hmset
HGETALL 对象名 --获取 hgetall
HASH是一个键值对集合,特别适用于存储对象
3,(3)List 集合
LPUSH nameList zhangsan --设置 lpush
LPUSH nameList lisi --设置
LRANGE nameList 0 1 --获取(后面的数字是下标) lrange
List 是字符串列表,按照插入顺序排序
3.(4)Set集合
SADD nameSet zhangsan ---设置 sadd
SADD nameSet lisi --设置 sadd
SMEMBERS nameSet --获取 smembers
Set是String类型的无序列表,每一个成员都唯一的
意味着不可能出现重复的数据
3.(5)Zset集合
ZADD userSet 1 zhangsan --设置 zadd
ZADD userSet 2 lisi --设置 zadd
ZRANGE userSet 0 1 --获取 zrange
Zset集合是String类型的集合,且不允许有重复的对象,
不同的是每一个元素都会关联一个double类型的分数
Redis正是通过这个额分数来进行集合中的成员大小排序的,
并且分数可以重复
3.(6)基本命令
1.EXISTS keyName
若key存在,则返回1 否则换回0
2.DEL keyName keyName keyName ...
返回的是被删除的数量
3.设置过期时间
EXPIRE key Name seconds
设置成功返回1
4.查询过期时间(单位是秒)
TTL keyName
seconds:返回剩余秒数
-2:当前key已经过期
-1:当前key存在但是没有设置过期时间
5.查询过期时间(单位是毫秒)
TTL keyName
seconds:返回剩余秒数
-2:当前key已经过期
-1:当前key存在但是没有设置过期时间
6.获取key的数据类型
type keyName
返回值是各大数据类型和none
none:key不存在
















