Redis 全景知识图、Redis速度快的原因

所谓的 Redis 知识全景图都包括什么呢?简单来说,就是“两大维度,三大主线”。

“两大维度”就是指系统维度和应用维度,“三大主线”也就是指高性能、高可靠和高可扩展(可以简称为“三高”)。

首先,从系统维度上说,你需要了解 Redis 的各项关键技术的设计原理,这些能够为你判断和推理问题打下坚实的基础,而且,你还能从中掌握一些优雅的系统设计规范,例如 run-to-complete 模型、epoll 网络模型,这些可以应用到你后续的系统开发实践中。

这里有一个问题是,Redis 作为庞大的键值数据库,可以说遍地都是知识,一抓一大把,我们怎么能快速地知道该学哪些呢?别急,接下来就要看“三大主线”的魔力了。

别看技术点是零碎的,其实你完全可以按照这三大主线,给它们分下类,就像图片中展示的那样,具体如下:

高性能主线,包括线程模型、数据结构、持久化、网络框架;

高可靠主线,包括主从复制、哨兵机制;

高可扩展主线,包括数据分片、负载均衡。

你看,这样,你就有了一个结构化的知识体系。当你遇见这些问题时,就可以按图索骥,快速找到影响这些问题的关键因素,这是不是非常省时省力呢?

其次,在应用维度上,我建议你按照两种方式学习: “应用场景驱动”和“典型案例驱动”,一个是“面”的梳理,一个是“点”的掌握。

我们知道,缓存和集群是 Redis 的两大广泛的应用场景。在这些场景中,本身就具有一条显式的技术链。比如说,提到缓存场景,你肯定会想到缓存机制、缓存替换、缓存异常等一连串的问题。不过,并不是所有的东西都适合采用这种方式,比如说 Redis 丰富的数据模型,就导致它有很多零碎的应用场景,很多很杂。而且,还有一些问题隐藏得比较深,只有特定的业务场景下(比如亿级访问压力场景)才会出现,并不是普遍现象,所以,我们也比较难于梳理出结构化的体系。

二、Redis速度快的原因

单线程的Redis为什么会那么快? 1.基于内存操作; 2.定制化的数据结构,大部分命令的时间复杂度是O(1); 3.一方面单线程的程序可以避免线程上下文切换带来的性能损耗;另一方面,单线程程序不存在临界资源,不会出现锁以及并发竞争的情况; 4.采用了IO多路复用技术,可以高效的处理多个客户端的请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值