Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大型互联网公司都在使用 Redis,比如 Twitter、YouPorn、暴雪娱乐、Github、StackOverflow、腾讯、阿里、京东、华为、新浪微博等等,很多中小型公司也都有应用。也可以说,对 Redis 的了解和应用实践已成为当下中高级后端开发者绕不开的必备技能。
Redis的业务应用范围非常广泛,Redis 可以用在哪些地方?
1、记录文章的评论数、点赞数和点击数(hash)。
2、记录用户的文章 ID 列表 (排序),便于快速显示用户的文章列表 (zset)。
3、记录文章的标题、摘要、作者和封面信息,用于列表展示。(hase)。
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。
数据太大会增加成本,访问频率太低,保存在内存中纯属浪费资源