乐趣区

Redis从入门到精通二Redis的数据类型

此篇罗列了 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 数据类型 - 官方文档

退出移动版