登录 |  注册 |  繁體中文


redis使用场景总结

分类: 服务器相关 颜色:橙色 默认  字号: 阅读(794) | 评论(1)

1 键的生存时间(expire)

应用场景:

  1. 限时的优惠活动信息
  2. 网站数据缓存(对于一些需要定时更新的数据,例如:积分排行榜)
  3. 手机验证码
  4. 限制网站访客访问频率(例如:1分钟最多访问10次)

2 最新列表&排行榜

这里采用Redis的List数据结构或sorted set 结构, 方便实现最新列表or排行榜 等业务场景。

排行榜(leader board)按照得分进行排序。ZADD命令可以直接实现这个功能,而ZREVRANGE命令可以用来按照得分来获取前100名的用户,ZRANK可以用来获取用户排名,非常直接而且操作容易。

3 消息队列

当在集群环境时候,java ConcurrentLinkedQueue 就无法满足我们需求,此时可以采用Redis的List数据结构实现分布式的消息队列。

4 存储社交关系

譬如将用戶的好友/粉丝/关注,可以存在一个sorted set中,score可以是timestamp,这样求两个人的共同好友的操作,可能就只需要用求交集命令即可。

 

5 各种计数

商品维度计数(喜欢数,评论数,鉴定数,浏览数,etc)

采用Redis 的类型: Hash. 如果你对redis数据类型不太熟悉,可以参考 http://redis.io/topics/data-types-intro

为product定义个key product:,为每种数值定义hashkey, 譬如喜欢数xihuan

 

用户维度计数(动态数、关注数、粉丝数、喜欢商品数、发帖数 等)

用户维度计数同商品维度计数都采用 Hash. 为User定义个key user:,为每种数值定义hashkey, 譬如关注数follow

 

6 消息通知

其实这业务场景也可以算在计数上,也是采用Hash。如下:



上一篇:关于tcp粘包   下一篇:中国产业【转】

  • #1Stone2018-05-22 18:04:26
    :)
姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部