Redis 是互联网技术架构在存储系统中使用得为广泛的中间件,也是中高级后端工程师技术面试中面试官喜欢问的工程技能之一,特别是那些优秀的互联网公司,通常要求面试者不仅仅掌握 Redis 基础用法,还要理解 Redis 内部实现的细节原理。

这份手册分为分为基础和应用篇、原理篇、集群篇、拓展篇、源码篇共 5 大块内容。基础和应用篇讲解对读者来说有价值的内容,可以直接应用到实际工作中;原理篇、集群篇让开发者透过简单的技术表面看到精致的底层世界;拓展篇帮助读者拓展技术视野和夯实基础,便于进阶学习;源码篇让高阶的读者能够读懂源码,掌握核心技术!

需要这本redis深度历险文档笔记的朋友可以转发+关注后添加VX:QSgc11即可免费获取

Redis应用篇

分布式锁(分布式锁、超时问题、可重入性

 

延时队列(异步消息队列、队列空了怎么办?队列延迟、空闲连接自动断开、锁冲突处理、延时队列的实现、进一步优化

 

位图(基本使用、统计和查找、魔术指令bitfield

 

HyperLogLog(使用方法、pfadd这个pf是什么意思?pfmerge适合什么场合用?注意事项、HyperLogLog实现原理、pf的内存占用为什么是12k?

 

布隆过滤器(布隆过滤器是什么?Redis中的布隆过滤器、布隆过滹器基本使用、注意事项、布隆过滤器的原理、空间占用估计、实际元素超出时,误判率会怎样变化、用不上Redis4.0怎么办?布隆过滹器的其它应用

 

简单限流

 

漏斗限流

 

GeoHash(用数据库来算附近的人、GeoHash算法、Redis的Geo指令基本使用

 

Scan(scan基础使用、字典的结构、scan遍历顺序、字典扩容、对比扩容缩容前后的遍历顺序、渐进式rehash、更多的scan指令、大key扫描

 

Redis原理篇

线程IO模型(非阻塞10、事件轮询(多路复用)、指令队列、响应队列、定时任务

 

通信协议(RESP(Redis Serialization Protocol)、客户端->服务器、服务器->客户端

 

持久化(快照原理、fork(多进程)、AOF原理、AOF重写、fsync、运维、Redis 4.0混合持久化

 

管道(Redis的消息交互、管道压力测试、深入理解管道本质

 

事务(Redis事务的基本使用、原子性、discard(丢弃)、优化、Watch

 

PubSub(消息多播、PubSub、模式订阅、消息结构、PubSub缺点

 

小对象压缩(32bit vs 64bit、小对象压缩存储(ziplist)、内存回收机制、内存分配算法

 

主从同步(CAP原理、最终一致、主从同步、增量同步、快照同步、增加从节点、无盘复制、Wait指令

 

Redis集群篇

Sentinel(消息丢失、Sentinel 基本使用

 

Codis(Codis分片原理、不同的Codis实例之间槽位关系如何同步?、扩容、自动均衡、Codis的代价、Codis的优点、MGET指令的操作过程、架构变迁、Codis的尴尬、Codis的后台管理

 

Cluster(槽位定位算法、跳转、迁移、容错、网络抖动、可能下线(PFAIL-Possibly Fail) 与确定下线(Fail)、Cluster基本使用、槽位迁移感知、集群变更感知

 

Redis拓展篇

Stream(消息ID、消息内容、增删改查、独立消费、创建消费组、消费、Stream消息太多怎么办?、消息如果忘记ACK会怎样?、PEL如何避免消息丢失?、Stream的高可用、分区Partition

 

Info指令(Redis每秒执行多少次指令?、Redis连接了多少客户端?、Redis内存占用多大?复制积压缓冲区多大?

 

再谈分布式锁

 

过期策略

 

LRU

 

懒惰删除

 

优雅地使用Jedis

 

保护Redis

 

Redis安全通信

 

Redis源码篇

探索「字符串」内部结构

 

探索「字典」内部(dict内部结构、渐进式rehash、查找过程、hash函数、hash攻击、扩容条件、缩容条件、set的结构

 

探索「压缩列表」内部(增加元素、级联更新、IntSet小整数集合

 

探索「快速列表」内部

 

探索「跳跃列表」内部结构(基本结构、查找过程、随机层数、插入过程、删除过程、更新过程、如果score值都一样呢?、元素排名是怎么算出来的?

 

探索「紧凑列表」内部

 

探索「基数树」内部

 

总结

Redis本身的设计颇具特色,作为数据库从业者,我从中获益匪浅!这份手册是我见过的内容相对全面、讲解极为生动的Redis实践指导,其中有大量直观的插图和实例。区别于市面上大量粗浅介绍Redis内容的作品,手册对Redis原理的讲解深入浅出、循序渐进,章节安排条理清晰,非常适合中高级后端开发者。、

如何获取?

需要这本redis深度历险文档笔记的朋友可以转发+关注后添加VX:QSgc11即可免费获取