1.3Redis数据结构使用场景

1.String的应用场景

1)计数器
INCRarticle:readcount:{文章id}

GET article:readcount:{文章id}

2)Web集群session共享
spring session + redis实现session共享

3)分布式系统全局序列号
INCRBY orderld 1000 //redis批量生成序列号提升性能

2.微博与微信消息流Redis实现(List)

例如毛老师,关注了张老师,李老师

1)李老师发微博,消息ID为1001
LPUSH msg:{毛老师ID} 1001
2)张老师发微博,消息ID为1006
LPUSH msg:{毛老师ID} 1006
3)查看最新微博消息
LRANGE msg:{毛老师ID} 0 4

2.小程序抽奖,微信点赞、收藏与标签基于Redis实现(set)

抽奖小程序
1)点击参与抽奖加入集合 SADD key {userlD}
2)查看参与抽奖所有用户 SMEMBERS key
3)抽取count名中奖者
SRANDMEMBER key [count]/SPOP key [count]

微信微博点赞,收藏,标签

1)点赞
SADD like:{消息ID} {用户ID}

  1. 取消点赞
    SREM like:{消息ID}{用户ID}

3)检查用户是否点过赞
SISMEMBER like:{消息ID}{用户ID}

4)获取点赞的用户列表
SMEMBERS like:{消息ID}

5)获取点赞用户数
SCARD like:{消息ID}

5.微博与微信朋友关注模型基于Redis实现(set)

集合操作实现微博微信关注模型
1)朱老师关注的人:
zhuSet-> {guo, xu}
2) 杨老师关注的人:
yangSet–> {zhu, bai, guo, xu}
3)郭老师关注的人:
guoSet-> {zhu, yang, bai,xu, xun)
4)我和杨过老师共同关注:
SINTER zhuSet yangSet–> {guo, xu}
5)我关注的人也关注他(杨过老师):
SISMEMBER guoSet yang SISMEMBER xuSet yang
6)我可能认识的人:
SDIFF yangSet zhuSet->(zhu, bai}

6.电商购物车如何用Redis实现(hash)

电商购物车

1)以用户id为key
2)商品id为field
3)商品数量为value

· 购物车操作
1)添加商品→hset cart:1001 10088 1
2) 增加数量→hincrby cart:1001 10088 1
3)商品总数→hlen cart:1001
4)删除商品→hdel cart:1001 10088
5)获取购物车所有商品→hgetall cart:1001

7.新闻排行榜

Zset集合操作实现排行榜
1)点击新闻
ZINCRBY hotNews:20190819 1 守护新闻
2)展示当日排行前十 I
ZREVRANGE hotNews:20190819 0 9 WITHSCORES
3)七日搜索榜单计算
ZUNIONSTORE hotNews:20190813-20190819 7
hotNews:20190813 hotNews:20190814… hotNews:20190819
4)展示七日排行前十
ZREVRANGE hotNews:20190813-2019081909 WITHSCORES

8.电商推荐系统如何用Redis实现

1)一个人买了东西,获取他的好友列表
2)他的朋友推荐他刚买的商品。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苹水相峰

你的打赏是对我最大的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值