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}
redis 实战 抽奖 微信朋友圈 购物车 点赞 热搜 排行榜 微博微信关注_第1张图片

四.即时通讯
例如: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

你可能感兴趣的:(redis,redis,nosql)