此篇罗列了Redis
的所有数据类型并介绍了常用的5种数据类型(strings,Lists,Hashes,Sets,Sorted sets
)简单的命令和使用场景
Redis的数据类型
-
Binary-safe strings
, 简单的K-V
结构的存储 -
Lists
, 按插入顺序排序的字符串元素集合。基本上就是链表 -
Sets
,唯一的,不排序的集合 -
Sorted sets
,类似于集合,但每个字符串元素都与一个称为score的浮数值相关联,元素总是按分数排序,因此与集合不同,可以检索一系列元素 -
Hashes
, 由与值关联的字段组成的映射。字段和值都是字符串 -
Bit arrays (or simply 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
Sorted sets
,用来做排名等;
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数据类型
的内容可以参考:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。