写点什么

腾讯强推 Redis 成长手册!原理 + 应用 + 集群 + 拓展 + 源码五飞

用户头像
小Q
关注
发布于: 2020 年 11 月 14 日

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

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



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学习手册得,关注我,点赞后点击这里即可查看获取方式



发布于: 2020 年 11 月 14 日阅读数: 48
用户头像

小Q

关注

还未添加个人签名 2020.06.30 加入

小Q 公众号:Java架构师联盟 作者多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果能为您提供帮助,请给予支持(关注、点赞、分享)!

评论

发布
暂无评论
腾讯强推Redis成长手册!原理+应用+集群+拓展+源码五飞