读写速度快
当商品抢购,主页访问量大时,数据库容易崩,就可以用 redis 分担压力
相对于 Kafka 和 Rabbitmq,当只有一组消费者的消息队列时,Redis 可以轻松搞定异步消息传递时的繁琐功能
Redis 提供的位图数据结构可以完全容纳下过亿的存储量,大大节约存储空间
... ...
还有很多,我就不一一列举了。
Redis 已经成了各公司面试必问的问题,尤其是大厂,由于公司对员工这项技能的看重,面试的时候也会问的更深入些。
如果你是刚学习 Redis 的小白,又或者是工作多年,想要好好复习一下 Redis 的从业者,那么接下来推荐的这份文档就会很适合你。这份文档从应用、原理、集群、拓展、源码等方面详细的讲解了 Redis 的方方面面,将各个细节阐述的非常到位。并且这份文档是一位从事 Java 有 20 年的高级架构师所著作的,里面的详解都是他这么多年累积下来的经验。
1.分布式锁
分布式应用与并发问题是分不开的。
2.延时队列
我们经常用 Kafka 和 Rabbitmq 作为消息队列中间件,在应用程序之间增加异步消息传递功能。但是使用过 Rabbitmq 的朋友就知道,步骤是有多么繁琐。但是有了 Redis,我们就可以从繁琐步骤里解脱出来,当只有一组消费者的消息队列时,使用 Redis 就会非常轻松地搞定。
3.位图
当存储量巨大过亿时,Redis 提供的位图数据结构就可以完全容纳下,这就大大
节约了存储空间。
4.HyperLogLog
如果你的页面访问量很大,你统计需要用一个很大的 set 集合时,就会非常的浪费空间。当需要用很大的存储空间时,Redis 提供的 HyperLogLog 数据结构就可以很好地解决这种统计问题。
5.布隆过滤器
由于 Redis 的事务使用非常简单,跟关系数据库不同,我们可以直接使用。但是也正因为过于简单,它的事务模型很不严谨,那么我们就不能像使用关系数据库的事务一样来使用 Redis。
6.简单限流
Redis 消息队列有很多优势的同时,也存在着不足之处,那就是它不支持消息的多播机制
7.漏斗式限流
由于 Redis 所有的数据都放在内存里,那么它很容易因为我们内存不足而导致崩溃。当 Redis 内部管理的集合数据结构很小时,它会进行压缩存储。 比如可以使用数组来模拟 HashMap 的增删改操作。
8.GeoHash
很多企业没有使用到 Redis 的集群,但是至少都做了主从。在了解 Redis 的主从复制之前,我们可以先来理解一下现代分布式系统的理论基石——CAP 原理。
限于文章篇幅原因,仅展示部分内容及目录截图。有需要的朋友添加小助理微信:X1063091801 即可免费获取这份资料! 即可免费获取这份资料!
1.分布式锁
分布式应用与并发问题是分不开的。
2.延时队列
我们经常用 Kafka 和 Rabbitmq 作为消息队列中间件,在应用程序之间增加异步消息传递功能。但是使用过 Rabbitmq 的朋友就知道,步骤是有多么繁琐。但是有了 Redis,我们就可以从繁琐步骤里解脱出来,当只有一组消费者的消息队列时,使用 Redis 就会非常轻松地搞定。
3.位图
当存储量巨大过亿时,Redis 提供的位图数据结构就可以完全容纳下,这就大大
节约了存储空间。
4.HyperLogLog
如果你的页面访问量很大,你统计需要用一个很大的 set 集合时,就会非常的浪费空间。当需要用很大的存储空间时,Redis 提供的 HyperLogLog 数据结构就可以很好地解决这种统计问题。
5.布隆过滤器
由于 Redis 的事务使用非常简单,跟关系数据库不同,我们可以直接使用。但是也正因为过于简单,它的事务模型很不严谨,那么我们就不能像使用关系数据库的事务一样来使用 Redis。
6.简单限流
Redis 消息队列有很多优势的同时,也存在着不足之处,那就是它不支持消息的多播机制
7.漏斗式限流
由于 Redis 所有的数据都放在内存里,那么它很容易因为我们内存不足而导致崩溃。当 Redis 内部管理的集合数据结构很小时,它会进行压缩存储。 比如可以使用数组来模拟 HashMap 的增删改操作。
8.GeoHash
很多企业没有使用到 Redis 的集群,但是至少都做了主从。在了解 Redis 的主从复制之前,我们可以先来理解一下现代分布式系统的理论基石——CAP 原理。
小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。
我有一些面试题、架构、设计类资料可以说是程序员面试必备!所有资料都整理到网盘了,需要的话欢迎下载!私信我回复【07】即可免费获取
原文出处:xie.infoq.cn/article/79a335c27269de79b449ca278