Redis实战(五) 聊聊Redis使用场景

发表于 2016-11-21 | 数据存储 | Redis

随着数据量的增长,MySQL已经满足不了大型互联网类应用的需求,因此,Redis作为内存数据库,很好的作为其架构上的补充。在某些场景下,可以充分的利用Redis的特性,大大提高效率。

使用场景说明

计数器

数据统计的需求非常普遍,通过原子递增保持计数。例如,点赞数、收藏数、分享数等。

排行榜

排行榜按照得分进行排序,例如,展示最近、最热、点击率最高、活跃度最高等等条件的top list。

用于存储时间戳

类似排行榜,使用redis的zset用于存储时间戳,时间会不断变化。例如,按照用户关注用户的最新动态列表。

记录用户判定信息

记录用户判定信息的需求也非常普遍,可以知道一个用户是否进行了某个操作。例如,用户是否点赞、用户是否收藏、用户是否分享等。

社交列表

社交属性相关的列表信息,例如,用户点赞列表、用户收藏列表、用户关注列表等。

缓存

缓存一些热点数据,例如,PC版本文件更新内容、资讯标签和分类信息、生日祝福寿星列表。

队列

Redis能作为一个很好的消息队列来使用,通过list的lpop及lpush接口进行队列的写入和消费,本身性能较好能解决大部分问题。但是,不提倡使用,更加建议使用rabbitmq等服务,作为消息中间件。

会话缓存

使用Redis进行会话缓存。例如,将web session存放在Redis中。

业务使用方式

  • String(字符串): 应用数, 资讯数等, (避免了select count(*) from …)

  • Hash(哈希表): 用户粉丝列表, 用户点赞列表, 用户收藏列表, 用户关注列表等。

  • List(列表):消息队列, push/sub提醒。

  • SortedSet(有序集合):热门列表, 最新动态列表, TopN, 自动排序。

最新文章

  1. Openjudge 1.13-23:区间内的真素数(每日一水)
  2. 配置VSCode右键菜单
  3. 封装自己的Common.js工具库
  4. MVC3.0 项目升级到 MVC4.0
  5. 【sql】之查询昨天的记录
  6. 破解excel密码保护
  7. 分布式日志1 用c#的队列写日志
  8. Ubuntu下PHP的扩展
  9. MVC学习系列——参考
  10. 在 Sublime Text 3 中运行 PHP
  11. php的一些小笔记--时间函数
  12. div仿checkbox表单样式美化及功能
  13. yarn的调度器
  14. 我的第一个python web开发框架(1)——前言
  15. log4j:ERROR Category option " 1 " not a decimal integer.错误解决
  16. 【python 字符串】 字符串的相关方法(一)
  17. 第十四节:再探MVC中路由的奥秘
  18. LOJ #6192. 「美团 CodeM 复赛」城市网络 (树上倍增)
  19. Spark读写HBase
  20. 微信支付---H5支付

热门文章

  1. 如何删除Struts2动作的后缀扩展名
  2. 一、 Log4E插件下载
  3. 关于NAND flash的MTD分区与uboot中分区的理解
  4. .NET:命令行解析器介绍
  5. log4net配置详细说明
  6. 《Objective-C开发经典教程》
  7. [Android Studio] Android Studio使用教程(二)
  8. 【转载】Redis在新浪微博中的应用
  9. mongodb pymongo.errors.CursorNotFound: Cursor not found, cursor id: 82792803897
  10. 《Go并发编程实战》第2版 紧跟Go的1.8版本号