本文框架如下
第一部分,主要是在阅读代码过程中的日志和笔记;
第二部分,主要介绍了 Redis 的主要框架,以及 Redis 是如何提供服务的,从一个最简单的命令开始讲起;
第三部分,主要介绍 Redis 底层用作存储的数据结构,这一部分很有趣;
第四部分,主要讲解了 Redis 的核心功能,包括持久化,订阅/发布模式,主从复制,事务机制,集群等等;
第五部分,展示了 Redis 几个简单的应用;
第六部分,介绍了 Redis 和 Memcached 的区别,以及稍稍讲解了 Memcached。
Tips:本文内容已经整理成了pdf版本,内容由真实腾讯专家手写,感兴趣的朋友可以通过【关注+点赞+评论本文】的方式获取到腾讯专家手写Redis源码日志笔记pdf版本!
Redis服务框架
①初探 Redis
- Redis 在缓存系统所处的位置
②Redis 事件驱动详解
- 事件驱动数据结构
- 事件循环中心
-
Redis 事件驱动原理
-
事件注册详解
-
准备监听工作
-
为监听套接字注册事件
-
事件循环
-
事件触发
③Redis 是如何提供服务的
- initServerConfig()
- aeMain()
- 新连接的处理流程
- 请求的处理流程
- 执行命令
- 在哪里回复客户端
Redis 基础数据结构
①Redis 数据结构综述
一览 Redis 数据结构:
- Redis 命令和相关的数据结构
- Redis 数据结构 redisOb
- Redis 数据结构 sds
- Redis 数据结构 dict
- Redis 数据结构 ziplist
- Redis 数据结构 skiplist
- Redis 数据结构 intset
Redis 内功心法
①Redis 数据淘汰机制
- 概述
- LRU 数据淘汰机制
- TTL 数据淘汰机制
- 在哪里开始淘汰数据
②RDB 持久化策略
- 简介 Redis 持久化 RDB、AOF
- 数据结构 rio
- RDB 持久化的运作机制
- RDB 数据的组织方式
③AOF 持久化策略
- 简介
- AOF 数据组织方式
- AOF 持久化运作机制
- 细说更新缓存
- AOF 恢复过程
- AOF 的适用场景
④订阅发布机制
- 两种订阅
- 订阅相关数据结构
- 订阅过程
- 消息发布
⑤主从复制
- 概述
- 积压空间
- 主从数据同步机制概述
- 全同步
- 部分同步
- 缓存主机
- 总结
⑥Redis 事务机制
- Redis 事务简述
- Redis 命令队列
- 键值的监视
- Redis 事务的执行与取消
- Redis 事务番外篇
⑦Redis 与 Lua 脚本
- Lua 简介
- Redis 为什么添加 Lua 支持
- Lua 环境的初始化
- Lua 脚本执行 Redis 命令
- Redis Lua 脚本的执行过程
- 脏命令
- Lua 脚本的传播
- 总结
⑧Redis 哨兵机制
- Redis 哨兵的服务框架
- 定时程序
- 哨兵与 Redis 服务器的互联
- HELLO 命令
- INFO 命令
- 心跳
- 在线状态监测
- 故障修复
- Redis 监视器
- Redis 数据迁移
⑨Redis 集群(上)
- 前奏
- 谈一致性哈希算法(consistent hashing)
- 怎么实现?
- twemproxy - Redis 集群管理方案
- Redis 官方版本支持的集群
⑩Redis 集群(下)
- 数据结构
- 数据访问
- 新的节点
- 心跳机制
- 故障修复
- 故障修复的协议
- 数据迁移
- 总结
Redis 应用
- Redis 应用
- 积分排行榜
- 分布式锁
- 消息中间件
- Web 服务器存储 session
其他
①内存数据管理
- 共享对象
- 两种内存分配策略
- memory aware 支持
- zmalloc_get_private_dirty() 函数
- 总结
②Redis 日志和断言
- Redis 日志
- Redis 断言
③Redis 与 Memcache
- 单进程单线程与单进程多线程
- 丰富与简单的数据结构
- 其他
- 性能测试
④小剖Memcache
- 初始化过程
- UNIX 域套接字和 UDP/TCP 工作模式
- 工作线程管理和线程调配方式
- 存储容器
- 连接管理
- 一个请求的工作流程
- Memcached 的分布式
⑤Memcached slab 分配策略
- Memcached slab 概述
- slab class
- 内存分配的过程
- lru 机制
⑥源码阅读工具
- sublime text 2/3
- Eclipse CDT
- Source insight
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
最后总结
搞定算法,面试字节再不怕,有需要文章中分享的这些二叉树、链表、字符串、栈和队列等等各大面试高频知识点及解析
最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
搞定算法,面试字节再不怕,有需要文章中分享的这些二叉树、链表、字符串、栈和队列等等各大面试高频知识点及解析
最后再分享一份终极手撕架构的大礼包(学习笔记):分布式+微服务+开源框架+性能优化
[外链图片转存中…(img-qSrpfrtU-1713822235058)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!