Redis 相关知识二
2018-10-28 本文已影响68人
爱学习的代代
1. Redis 简介
Redis 是完全开源免费的,遵循BSD协议,是一个高性能的key-value数据库
2. Redis 与其他key-value 缓存产品的特点
- Redis支持多数据类型。不仅支持key-value还支持 list、set、zset 、hash
- Redis支持数据的持久化。即可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用。
- Redis 支持数据的备份。即master-slave模式的数据备份。
3. Redis的优势
1、性能极高 -- Redis能读的速度110000次/s,写的速度是81000次/s
2、丰富的数据类型:同上
3、原子 --Redis的所有操作都是原子性的,意思就是要么执行成功要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
4. Redis的数据类型
- String类型:一个key对应一个value、是二进制安全的(即redis的String可以包含任何数据。比如jpg图片或者序列号的对象)最打存储512MB
-
Hash(哈希):Redis hash是一个键值(key ==>value)集合。
Redis hash 是一个string类型的field和value的映射表,hash特别适用于存储对象。
Hash.png
HMSET,HGET命令。每个hash可以存储2^32个键值对(40多亿)
HMSET设置了两个`field==>value`对。
HSET是将哈希表中的field设为value。
HGET获取对应field对应的value。
HDEL 删除一个或多个哈希表字典 `HDEL key filed1 [field2]`。
HEXISTS 查看哈希表中指定的字段是否存在`HEXISTS key field`。
-
List(列表):Redis列表是最简单的
List.png字符串列表
,按照顺序排序。你可以添加一个元素到列表的头(左边)或者尾部(右边)
-
Set(集合)
Redis的Set是String类型的无序集合
,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)
sadd 命令
添加一个string元素到集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在则返回错误
Set.pngsadd key member
重复的元素会被忽略,集合最大可以容纳的成员数为2^32 -1 约为 40多亿
- zset(sorted set:有序集合):跟set不同之处在于此每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。分数是可以重复的。
zadd命令 如果元素已经在集合中则更新score
zadd key score member