2023-03-26
原文作者:一直不动 原文地址:https://blog.csdn.net/shenchaohao12321/article/details/87650994

Redis 的业务应用范围非常广泛,让我们以掘金技术社区(juejin.im)的帖子模块为实例,梳理一下,Redis 可以用在哪些地方?

  1. 记录帖子的点赞数、评论数和点击数 (hash)。
  2. 记录用户的帖子 ID 列表 (排序),便于快速显示用户的帖子列表 (zset)。
  3. 记录帖子的标题、摘要、作者和封面信息,用于列表页展示 (hash)。
  4. 记录帖子的点赞用户 ID 列表,评论 ID 列表,用于显示和去重计数 (zset)。
  5. 缓存近期热帖内容 (帖子内容空间占用比较大),减少数据库压力 (hash)。
  6. 记录帖子的相关文章 ID,根据内容推荐相关帖子 (list)。
  7. 如果帖子 ID 是整数自增的,可以使用 Redis 来分配帖子 ID(计数器)。
  8. 收藏集和帖子之间的关系 (zset)。
  9. 记录热榜帖子 ID 列表,总热榜和分类热榜 (zset)。
  10. 缓存用户行为历史,进行恶意行为过滤 (zset,hash)。

当然,实际情况下需求可能也没这么多,因为在请求压力不大的情况下,很多数据都是可以直接从数据库中查询的。但请求压力一大,以前通过数据库直接存取的数据则必须要挪到缓存里来。
以上提到的只是 Redis 的基础应用,也是日常开发中最常见的应用(如果你的 Redis 基础和经验不足,可能需要阅读完下一节之后才能回过头来思考这个问题)。除了基础应用之外,还有很多其它的 Redis 高级应用,大多数同学可能从未接触过,这部分我会在后续的章节中陆续讲解。

小结

接下来,我们将过一遍 Redis 的基础知识,这部分内容估计本小册大多数读者都已经非常了解,所以这里也不浪费太多笔墨,只计划用一节的篇幅快速讲完。如果读者对 Redis 基础数据结构已经了然于胸,可以直接跳到下一章节阅读 Redis 的高级知识。
另外在阅读小册过程中,如果你被某些章节卡住了,一下理解不了,可以先淡定的摸着胸口告诉自己“不要慌,一切都是正常的!”,然后临时跳过并继续阅读后面的章节。但请各位读者务必坚持到最后,相信你会明显感受到技术能力的升华。大家加油!

阅读全文