Redis 核心技术与实战

Redis 核心技术与实战

00 开篇词 这样学Redis,才能技高一筹

01 基本架构:一个键值数据库包含什么?

02 数据结构:快速的Redis有哪些慢操作?

03 高性能IO模型:为什么单线程Redis能那么快?

04 AOF日志:宕机了,Redis如何避免数据丢失?

05 内存快照:宕机后,Redis如何实现快速恢复?

06 数据同步:主从库如何实现数据一致?

07 哨兵机制:主库挂了,如何不间断服务?

08 哨兵集群:哨兵挂了,主从库还能切换吗?

09 切片集群:数据增多了,是该加内存还是加实例?

10 第1~9讲课后思考题答案及常见问题答疑

11 “万金油”的String,为什么不好用了?

12 有一亿个keys要统计,应该用哪种集合?

13 GEO是什么?还可以定义新的数据类型吗?

14 如何在Redis中保存时间序列数据?

15 消息队列的考验:Redis有哪些解决方案?

16 异步机制:如何避免单线程模型的阻塞?

17 为什么CPU结构也会影响Redis的性能?

18 波动的响应延迟:如何应对变慢的Redis?(上)

19 波动的响应延迟:如何应对变慢的Redis?(下)

20 删除数据后,为什么内存占用率还是很高?

21 缓冲区:一个可能引发“惨案”的地方

22 第11~21讲课后思考题答案及常见问题答疑

23 旁路缓存:Redis是如何工作的?

24 替换策略:缓存满了怎么办?

25 缓存异常(上):如何解决缓存和数据库的数据不一致问题?

26 缓存异常(下):如何解决缓存雪崩、击穿、穿透难题?

27 缓存被污染了,该怎么办?

28 Pika:如何基于SSD实现大容量Redis?

29 无锁的原子操作:Redis如何应对并发访问?

30 如何使用Redis实现分布式锁?

31 事务机制:Redis能实现ACID属性吗?

32 Redis主从同步与故障切换,有哪些坑?

33 脑裂:一次奇怪的数据丢失

34 第23~33讲课后思考题答案及常见问题答疑

35 Codis VS Redis Cluster:我该选择哪一个集群方案?

36 Redis支撑秒杀场景的关键技术和实践都有哪些?

37 数据分布优化:如何应对数据倾斜?

38 通信开销:限制Redis Cluster规模的关键因素

39 Redis 6.0的新特性:多线程、客户端缓存与安全

40 Redis的下一步:基于NVM内存的实践

41 第35~40讲课后思考题答案及常见问题答疑

加餐 01 经典的Redis学习资料有哪些?

加餐 02 用户Kaito:我是如何学习Redis的?

加餐 03 用户Kaito:我希望成为在压力中成长的人

加餐 04 Redis客户端如何与服务器端交换命令和数据?

加餐 05 Redis有哪些好用的运维工具?

加餐 06 Redis的使用规范小建议

加餐 07 从微博的Redis实践中,我们可以学到哪些经验?

结束语 从学习Redis到向Redis学习