String的value类型
字符串
- 字符串的常规方法都存在
- get
- set
- append
- setrange
- getrange
- strlen
数字
- INCR 将键的整数值加一
- INCRBY 键的整数值增加给定的数量
- INCRBYFLOAT 将键的浮点值增加给定的数量
- DECR 将键的整数值减一
- DECRBY 将键的整数值减给定数字
使用场景
- 抢购、秒杀,点赞数,评论数量
bitmap 位图
- setbit
- bitcount 计算二进制位中1的数量
- bitpos 返回字符串里面第一个被设置为1或者0的bit位。
- bitop 对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。 可以是多个key的交集,并集,差集
1、使用场景1-统计用户登录的天数
- 以用户Id为维度作为key,每天登录作为value

1、使用场景1-活动送礼统计,需要准备多少礼物,
- 送多少礼物,需要区分出冷热用户。
- 连续登录的用户还要去重,例如1号---10号上线用户的总数,需要将连续登录的用户去重
- 使用日期作为key,每个用户作为value
- 难点在于连续登录的用户分散到不同的key,但是设置位的时候,需要将其设置到同一个角标上面

List的value类型
使用场景
- 栈---同向命令
- 队列----反向命令
- 数据
- 单播队列
Hash的value类型
使用场景
- 点赞数
- 收藏数
- 详情页
Set的value类型
- 集合无序,且对内部存储的元素进行去重
使用场景
- 一些集合的操作
- 随机事件
随机事件
假设公司发放奖品,一般会有以下两个场景
- 奖品多,每个人可以多得到几件礼物
- 奖品少,每个人做多得到一件礼物
ZSet的value类型
- 会对集合内元素进行去重操作(更准确些,应该叫更新),但不同的是它是又是一种支持对集合内元素进行排序的数据结构
- set中有一个score的用来决定排序的方式
使用场景
- 排行榜
存储的原理-查询速度快
- 跳跃表