String 单值缓存 key value
对象缓存 user json
分布式锁 SETNX 返回1表示成功0表示失败
计数器INCR
Web集群session共享 spring session + redis实现 session 共享
分布式系统全局序列号 INCRBY orderId 1000 //redis 批量生成序列号提升性能
Hash key field value 同类数据归类整合储存
对象缓存 user 1:name zhangsan 1:balance 1888
user 2:name lisi 2:balance 1600
电商购物车 以用户 id 为 key, 商品 id 为 field, 商品数量为 value
hset cart:1001 10088 1
过期功能不能使用在 field 上,只能用在 key 上
Redis 集群架构下不适合大规模使用
List
Stack( 栈 ) = LPUSH + LPOP
Queue( 队列) = LPUSH + RPOP
Blocking MQ( 阻塞队列) = LPUSH + BRPOP
Set
微信抽奖小程序
1 )点击参与抽奖加入集合 SADD key {userlD}
2 )查看参与抽奖所有用户 SMEMBERS key
3 )抽取 count 名中奖者 SRANDMEMBER key [count] / SPOP key [count]
ZSet
排行榜
1 )点击新闻 ZINCRBY hotNews:20231122 1 新闻标题
2 )展示当日排行前十 ZREVRANGE hotNews:20190819 0 9 WITHSCORES
3 )七日搜索榜单计算 ZUNIONSTORE hotNews:20190813-20190819 7
hotNews:20190813 hotNews:20190814... hotNews:20190819
4 )展示七日排行前十 ZREVRANGE hotNews:20190813-20190819 0 9 WITHSCORES