此篇罗列了 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数据类型的内容可以参考:

Redis命令-官方文档
Redis数据类型-官方文档


QuoVadis
11 声望5 粉丝