0%

1、Redis 画像

Redis 引出的问题

学习蒋德钧老师的《Redis核心技术与实战》,这系列文章会根据老师的内容进行精简提炼整理并添加自我的思考等等,与原文有重叠的部分,如侵权请于主页联系本人必删除

为了保证数据的可靠性,Redis 需要在磁盘上读写 AOF 和 RDB,但在高并发场景里,这就会直接带来两个新问题:

  • 一个是写 AOF 和 RDB 会造成 Redis 性能抖动。(AOF,将Redis的操作日志以追加的方式写入文件。 RDB,将Redis在内存中的数据库记录定时dump到磁盘上的RDB持久化。)
  • 另一个是 Redis 集群数据同步和实例恢复时,读 RDB 比较慢,限制了同步和恢复速度。

使用 Redis不同公司的“玩法”却不太一样,比如说,有做缓存 的,有做数据库 的,也有用做分布式锁的。不过,他们遇见的“坑”,总体来说集中在四个方面:

  • CPU 使用上的“坑”,例如数据结构的复杂度、跨 CPU 核的访问;

  • 内存使用上的“坑”,例如主从同步和 AOF 的内存竞争;

  • 存储持久化上的“坑”,例如在 SSD 上做快照的性能抖动;

  • 网络通信上的“坑”,例如多实例时的异常网络丢包。

Redis 知识全景图

Redis知识全景图

两大维度,三大主线

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

Redis 的问题画像图

Redis的问题画像图