String

  • 存储序列化后的对象
  • 计数,整数的加减 incr decr
  • 分布式锁 setnx
  • session共享

List

消息队列 lpush + brpop

Hash

存储对象,这里和 String 的区别是便于修改value

Set

  • 存储文章对应的点赞等
  • 交集、差集操作,共同关注 sinter、sdiff
  • 随机抽奖 srandmember、spop

zSet

排序:

  • 取前几位(排行榜)zrange
  • 取某个分数区间 zrangebyscore
  • 取某些字典序的(名字、电话本)zrangebylex

BitMap

  • 两个状态(登录登出、签到未签到)
  • 某段时间打卡总次数(key 设置为某个月,offset表示哪一天)
  • 连续打卡(每天的BitMap的offset表示用户ID,几天的BitMap做&运算)