开篇词-这样学redis,才能技高一筹
开篇专栏来记录我在极客时间上学习的redis核心技术与实战系列这门课.老师讲的不错,从树状知识图的框架讲起,再来细讲其中的一个个枝叶的知识点.可以帮助新手较快的了解redis整个知识框架图.在此做个简单的知识点梳理,一是帮助自己更好的吸收理解,二是重拾博客,更好的搭建自己的知识图谱体系.
redis性能相关的问题
问题一:为了保证数据的可靠性,redis需要在磁盘上读写AOF和RDB,但是在高并发场景下会带来两个新的问题:
1、写AOF和RDB会造成redis性能抖动;
2、redis集群数据同步和实例恢复时,读RDB较慢,限制速度
解决方案:使用非易失内存NVM,可保证高速读写+快速持久话数据
redis使用场景
缓存、数据库、分布式锁
redis使用常见的坑:
- CPU-数据结构复杂度、跨CPU核的访问
- 内存-主从同步和AOF内存竞争
- 存储持久化-SSD做快照的性能抖动
- 网络通信-多实例的异常网络丢包
大部分技术人有一个误区:只关注零散的知识点,缺乏系统观.但是系统观才是至关重要的,拥有了系统观意味着你能有依据、有章法的定位、解决问题
Redis知识全景图
两大维度(系统维度+应用维度),三大主线(高性能、高可靠、高可扩展)
高性能主线: 线程模型、数据结构、持久化、网络框架
高可靠主线: 主从复制、哨兵机制
高可扩展主线: 数据分片、负载均衡
应用维度按照两种方式学习:“应用场景驱动”+“典型案例驱动” == 面的梳理+点的掌握
redis的问题画像图
eg:如果你遇到redis响应变慢的问题,参照上图可看出是与性能主线相关,而性能主线又与数据结构、异步机制、RDB、AOF重写相关.
附上一张课程表的目录