Redis使用场景

  1. 分布式锁
  2. 计数器:在互联网行业,我们经常会看到文章都有统计关注数,浏览数,这些数据都需要实时变化
    这里使用Redis以下两个api可以实现:
    INCR key //INCR readcount:{帖子id} 每浏览一次
    GET key //GET readcount:{帖子id} 获取浏览量
  3. 分布式全局序列
    在分布式架构中,通常会涉及到全局序列增长的问题,以用户id为例,我们可以通过redis来实现,由于频繁的+1操作和获取都占用磁盘IO,所以一般的做法都是先从redis取一段出来缓存到服务端。
  4. 实现新浪/Twitter用户消息列表功能
    比如,guanrossum关注了奥巴马,关注了川普,关注了科比,关注了詹姆斯;
    奥巴马发消息,消息ID为 123123
    – LPUSH {guanrossum ID} 123123
    科比发消息,消息ID为 123124
    – LPUSH {guanrossum ID} 123124
    //查询guanrossum的推文消息,第一页,每页取20条
    – LRANGE {guanrossum ID} 0 1*20
  5. 实现直播刷礼物、转发参加抽奖活动
    //刷礼物、转发加入到集合键中
    SADD key {userID}
    //获取所有用户
    SMEMBERS key
    //抽取 n 名中奖者
    SPOP key [n] 或者 SRANMEMBER key [n]
  6. 实现点赞、签到、收藏等功能
    //点赞
    SADD praise:8001 1001
    //取消点赞
    SREM praise:8001 1001
    //检查用户是否点过赞
    SISMEMBER praise:8001 1001
    //获取点赞的用户列表
    SMEMBERS praise:8001
    //获取点赞用户数
    SCARD praise:8001
  7. 基于集合键运算API实现关注模型(可能认识的人)
    很多社交类网站,我们经常可以发现,这类网站经常会推送一些“你可能认识的人”。通过Redis 集合键运算API也可以实现类似功能。
    已知:
    bill关注的人: billSub --> {‘zhang’, ‘wang’, ‘yan’}
    zhang关注的人:zhangSub --> {‘bill’, ‘wang’, ‘yan’, ‘xu’}
    wang关注的人:wangSub --> {‘bill’, ‘zhang’, ‘yan’, ‘xu’, ‘li’}
    那么
    //bill和zhang共同关注
    SINTER billSub zhangSub
    {‘wang’, ‘yan’}
    //我关注的人也关注他
    SISMEMBER wangSub zhang
    SISMEMBER yanSub zhang
    //我可能认识的人
    SDIFF zhangSub billSub
  8. 基于集合键运算API实现电商商品筛选
    每个商品入库的时候建立商品的静态标签列表,如 品牌、尺寸、处理器、内存… …
    SADD brand:lenovo 拯救者y7000P-001 ThinkPad-T480
    SADD screenSize:15.6 拯救者y7000P-001 机械革命Z2AIR
    SADD processor:i7 拯救者y7000P-001 机械革命X8TiPlus
    SADD memory:8G 拯救者y7000P-001 ThinkPad-T480 机械革命X8TiPlus 机械革命Z2AIR
    //查询“联想 15.6寸 i7处理器 8G内存”笔记本
    SINTER brand:lenovo screenSize:15.6 processor:i7 memory:8G
  9. 有序集合(Zset)键实现单日排行榜
    //点击新闻
    ZINCRBY hotNews:20190413 1 张丹峰回应出轨
    //展示今日热点, 倒序取10条,并返回score值
    ZREVRANGE hotNews:20190128 0 10 WITHSCORES
    //展示七日热点
    ZUNIONSTORE hotNews:20190413-20190420 hotNews:20190413 hotNews:20190420
    ZREVRANGE hotNews:20190413-20190420 0 10 WITHSCORES
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值