Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary
Service」的首字母缩写,也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、
简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大型互联网
公司都在使用 Redis,比如 Twitter、YouPorn、暴雪娱乐、Github、StackOverflow、腾讯、
阿里、京东、华为、新浪微博等等,很多中小型公司也都有应用。也可以说,对 Redis 的了
解和应用实践已成为当下中高级后端开发者绕不开的必备技能。
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 的默认端口是 6379,这个端口号也不是随机选的,而是由手机键盘字母「MERZ」
的位置决定的。「MERZ」在 Antirez 的朋友圈语言中是「愚蠢」的代名词,它源于意大利
广告女郎「Alessia Merz」在电视节目上说了一堆愚蠢的话。