以下内容均来源于B站这个视频,讲的不错,记录用来做备份。
https://www.bilibili.com/video/av65345121/
string应用场景:
分布式锁
setnx 1001 true
实现分布式锁。接下来再有线程就不会执行的
做完减库存的操作,删掉该key,redis中就不会出现该key了。
文章浏览量:
就用INCR 和 DECR
INCR article:readcount:1000
不用考虑数据库并发问题。
Hash场景:
购物车场景:
用hash 没法做分片存储
list链表
公众号信息流
lpush msg:id 10008
lpush msg:id 10009
lrange msg:id 0 -5
拿到id再到缓存里拿出来对应的消息
set
抽奖:
SMEMBERS key :
抽两个用户:SRANGEMEMBER act:1008 2
SPOP key 2 : 抽出两个人就从集合中删了;
点赞:
SADD like:1001 用户id
SREM like:1001 用户id
SISMEMBER key member
SCARD key member
集合操作:
sinter set1 set2 set3 -> c
sunion 并集
sdiff set1 set2 set3: 以set1为基准,求出与set2和set3差异的元素。
sismember sinaset yangguo 看yangguo这个member在simaset这个集合里没有,这样就可以实现我关注的人也关注他。
我可能认识的人:
sdiff Aset Bset : Aset中的人,Bset集合里面没有。这样就把ASet中的id作为可能认识的人推荐;