redis 实战 抽奖 微信朋友圈 购物车 点赞 热搜 排行榜 微博微信关注

Redis百度使用场景实战

一.计数器
例如:阅读量,点赞数等等
计算文章阅读量:incr+article:readcount:{文章id}
获取文章阅读量:+get+article:readcount:{文章id}

二.微信朋友圈关注消息模型
例如:Darren老师关注了qiuxiang,king老师
1.qiuxiang发朋友圈,消息id为1000+lpush+msg:{Darren-id} 1000
2.king发朋友圈,消息id为1010+lpush+msg:{Darren-id} 1010
3.Darren老师查看最新的朋友圈lrange+msg:{darren-id} 0 5

三.电商购物车
1.以用户id为key,商品id为field,商品数量为value,
例如:获取购物车中所有商品
hgetall cart:{用户id}
添加商品hset cart:{用户id} {商品id} 1
删除商品hdel cart:{用户id} {商品id}
增加商品数量
hincrby cart:{用户id} {商品id} 1
商品总数
hgetall+cart:{用户id}
在这里插入图片描述

四.即时通讯
例如:qq微信未读消息数量处理
解决:利用hash
1.以用户id为key;
2.好友或群id为field;
3.未读消息数量为value

五.微信抽奖小程序
1.点击参与抽奖加入集合 sadd key {userid}
2.查看参与抽奖所有用户 smembers key
3.随机抽取n名中奖者 srandmember key [n]或spop key [n]

六.朋友圈点赞 
1.点赞 sadd like:{消息id} {点赞用户id} 
2.取消点赞 srem like:{消息id} {点赞用户id} 
3.检查用户是否点过赞 sismember like:{消息id} {点赞用户id} 
4.获取点赞用户列表 smembers like:{消息id} 
5.获取点赞用户数量 scard like:{消息id}

七:集合实现微博/微信关注模型 
1.darren老师关注的人 sadd darrenset qiuxiang lee king 
2.qiuxiang老师关注的人 sadd qiuxiangset darren ting lee king 
3.darren和qiuxiang的共同关注(交集) sinter darrenset qiuxiangset 
4.darren关注的人是否也关注king sismember qiuxiangset king 
5.darren可能认识的人 sdiff qiuxiangset darrenset

八.有序集合实现微博热搜,排行榜 
1.浏览新闻 
zincrby hotnews:20200411 1 {新闻标题} 
2.展示当前日期前10 
zrevrange hotnews:20200411 0 9 WITHSCORES 
3.3天热搜榜单统计 zunionstore hotnews:20200409-20200411 3 hotnews:20200409 hotnews:20200410 hotnews:20200411
4.展示3天排行前10 zrevrange hotnews:20200409-20200411 0 10 WITHSCORES

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值