redis 5种数据类型应用场景

String 类型

  1. 简单缓冲
  2. 常规计数(微博关注数)
  3. 分布式ID
  4. 分布锁(结合Lua脚本)

List 类型

可以当作队列和栈这两种数据结构来进行使用

  1. 粉丝列表
  2. 关注列表 (我关注了谁,谁关注了我)
  3. 消息时间线
  4. 消息队列

Hash 类型

Hash 类型使用的就比较频繁了,它可以把一组关联的数据放入同一个 Key 下,这样批量存取时使用一个命令就可以取出,也可以对一个 Key
下的单个 Field 进行存取,操作灵活且方便。

  1. String可以做的Hash都可以做
  2. 存储对象类型(用户信息,商品信息)

Set 类型

Set 类型有一些非常好的数学运算的命令,比如,交集、并集、差集 和 随机,这些命令可以方便我们做很多有趣的功能,而不需要写太多的代码。

  1. 随机事件
  2. 抽奖
  3. 共同关注
  4. 可能认识的认
  5. 推荐

Set 类型提供的应用场景是否看起来就比较高大上了,但是实现却非常的简单。很多系统
使用的推荐功能看起来很厉害,其实用 Redis 可以简单的现实,当然了,Redis 实现的推
荐功能也只是最初级的推荐功能了。

ZSet 类型

  1. 含量 大小 价格
  2. 热搜,评分榜,排名,热度

ZSet 数据类型比 Set 数据类型多了一个分值,有了这个分值可以做很多和排序相关的功能。
ZSet 的特点就是排序的功能,而且现实中有很多需要进行排序的场景。对于食品的含量、东西的大小,基本定了就不会再改变了,因此这个排序可以使用 MySQL、MongoDB,感觉 Redis 不是唯一可选的,因为我觉得体现不出它的优势。而对于热搜、点赞、热度这样排序是实时变化的,ZSet 处理这类的排序更加的适合了,也能体现出它的优势了,在内存中排序,速度快,对于程序员使用省事方便。

上一篇:Redis基本数据结构总结之SET、ZSET和HASH


下一篇:Redis-Zset(有序集合)