一线互联网公司Redis应用场景及实例分析

以下内容均来源于B站这个视频,讲的不错,记录用来做备份。
https://www.bilibili.com/video/av65345121/
1415026-20190906163536359-168456319.png

string应用场景:

1415026-20190906163501387-1276760636.png

分布式锁

1415026-20190906163604737-1600993919.png

setnx 1001 true

实现分布式锁。接下来再有线程就不会执行的

做完减库存的操作,删掉该key,redis中就不会出现该key了。

1415026-20190906163616653-831895281.png

文章浏览量:

就用INCR 和 DECR

INCR article:readcount:1000

不用考虑数据库并发问题。

Hash场景:

1415026-20190906163628619-305099629.png

1415026-20190906163636021-1748235533.png

1415026-20190906163643360-185936198.png

购物车场景:

1415026-20190906163650904-1478762023.png

1415026-20190906163657358-1035053994.png

1415026-20190906163702826-576932909.png

用hash 没法做分片存储

list链表

1415026-20190906163715433-496995018.png

1415026-20190906163733403-2011739529.png

公众号信息流

1415026-20190906163743378-1342530239.png

lpush msg:id 10008

lpush msg:id 10009

lrange msg:id 0 -5

拿到id再到缓存里拿出来对应的消息

set

1415026-20190906163757414-255417127.png

抽奖:

1415026-20190906163807366-1671967040.png

SMEMBERS key :

抽两个用户:SRANGEMEMBER act:1008 2

SPOP key 2 : 抽出两个人就从集合中删了;

点赞:

1415026-20190906163819402-930495503.png

SADD like:1001 用户id

SREM like:1001 用户id

SISMEMBER key member

SCARD key member

集合操作:

1415026-20190906163826404-1251113571.png

sinter set1 set2 set3 -> c

sunion 并集

sdiff set1 set2 set3: 以set1为基准,求出与set2和set3差异的元素。

1415026-20190906163835362-1420984597.png

sismember sinaset yangguo 看yangguo这个member在simaset这个集合里没有,这样就可以实现我关注的人也关注他。

我可能认识的人:

sdiff Aset Bset : Aset中的人,Bset集合里面没有。这样就把ASet中的id作为可能认识的人推荐;

转载于:https://www.cnblogs.com/benjieqiang/p/11475651.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值