此篇罗列了Redis
的所有数据类型并介绍了常用的5种数据类型(strings,Lists,Hashes,Sets,Sortedsets
)简单的命令和使用场景
Redis的数据类型
Binary-safe strings
, 简单的K-V
结构的存储Lists
, 按插入顺序排序的字符串元素集合。基本上就是链表Sets
,唯一的,不排序的集合Sortedsets
,类似于集合,但每个字符串元素都与一个称为score的浮数值相关联,元素总是按分数排序,因此与集合不同,可以检索一系列元素Hashes
, 由与值关联的字段组成的映射。字段和值都是字符串Bitarrays(orsimply bitmaps)
, 可以使用特殊命令处理字符串值HyperLogLogs
, 这是一个概率数据结构,用于估计集合的基数Streams
,仅附加的类似于地图的条目集合,提供抽象日志数据类型
Redis 常用的数据类型
1. strings
strings
可以用来存储 k-v
结构的数据,做计数器等;
常用命令:
set
<key>
<value>
get
<key>
incr <key>
mget <key>
<key...>
2. lists
Lists
,可以用来实现粉丝列表,评论列表等;
常用命令:
lpush <key>
<value>
lpop <key>
rpush <key>
<value>
rpop <key>
lrange <key>
<start>
<end>
# lpush 是把元素插入到链表的头部,lpop 是从头部弹出一个元素并删除
# rpush 是把元素插入到链表的尾部,rpop 是从尾部弹出一个元素并删除
3. sets
Sets
,可以利用其无序,唯一(自动去重)的特性,例如,共同好友(用到了 SINTER
命令)等;
执行 sadd<key><value>
, 成功返回 1
,数据已存在返回 0
,数据类型不对返回异常
常用命令:
sadd <key>
<member>
<member...>
scard <key>
sdiff <key>
<key...>
spop <key>
[count]
smembers <key>
4. sorted sets
Sortedsets
,用来做排名等;
zadd
命令如果已存在会覆盖
常用命令:
zadd <key>
<score>
<member>
zrange <key>
<start>
<end>
zrem <key>
<member>
5. hashes
Hashes
, 用来存储个人信息等;
常用命令:
hset <key>
<field>
<value>
hget <key>
<field>
hgetall <key>
更多关于 Redis数据类型
的内容可以参考:
Redis命令-官方文档 Redis数据类型-官方文档