Redis 源码简洁剖析 18 - 复制、哨兵 Sentinel 【2022-02-26】复制 什么是复制 为什么需要复制 复制的实现 同步 命令传播 新版复制功能实现 哨兵 Sentinel 什么是 Sentinel ...
Redis 源码简洁剖析 17 - 服务器 【2022-02-21】命令请求的过程Redis 服务器负责与多个客户端建立网络连接,处理客户端发送的命令请求,在数据库中保存客户端执行命令所产生的数据。Redis 服务器中的 serverCron 函数默认每隔 100 毫秒执行一次,负责管理服务器的资源,并保持服务器自身的良好运转。整体流程都在下面的两张图里了~参...
Redis 源码简洁剖析 16 - 客户端 【2022-02-20】整体概述 客户端属性 套接字描述符 标志 输入缓冲区 命名及命令参数 命令的实现函数 输出缓冲区 客户端的创建与关闭 创建普通客户端 关闭普通客户端 参考链接 Red...
Redis 源码简洁剖析 15 - AOF 【2022-02-15】AOF 是什么 AOF 持久化的实现 命令追加 AOF 文件的写入和同步 AOF 文件的载入和数据还原 AOF 重写 为什么需要重写 什么是重写 如何重写 AOF 后台重写 ...
Redis 源码简洁剖析 14 - Redis 持久化 【2022-02-15】Redis 持久化方式 RDB 优势 劣势 AOF 优势 劣势 Redis < 7.0 参考链接 Redis 源码简洁剖析系列 我的公众...
Redis 源码简洁剖析 13 - RDB 文件 【2022-02-10】RDB 是什么 RDB 文件格式 Header Body DB Selector AUX Fields Key-Value Footer 编码...
Redis 源码简洁剖析 12 - 一条命令的处理过程 【2022-02-09】命令的处理过程 命令读取 命令解析 命令执行 结果返回 参考链接 Redis 源码简洁剖析系列 我的公众号命令的处理过程Redis server 和一个客户端建立连接后,会在事件驱动框架中注册可读事件——客户端的命令请求。命令处理对应 4 个阶段: 命令读取:对应 readQu...
Redis 源码简洁剖析 11 - 主 IO 线程及 Redis 6.0 多 IO 线程 【2022-02-08】Redis 到底是不是单线程的程序? 多 IO 线程的初始化 IO 线程运行函数 IOThreadMain 如何推迟客户端「读」操作? 如何推迟客户端「写」操作? 如何把待「读」客户端分配给 IO 线程执行? 如何把待「写」客户端分配给 IO...
Redis 源码简洁剖析 10 - aeEventLoop 及事件 【2022-02-06】aeEventLoop IO 事件处理 IO 事件创建 读事件处理 写事件处理 时间事件处理 时间事件定义 时间事件创建 时间事件回调函数 时间事件的触发处理 参考链接 Red...
Redis 源码简洁剖析 09 - Reactor 模型 【2022-02-06】Reactor 模型 事件驱动框架 Redis 如何实现 Reactor 模型 事件的数据结构:aeFileEvent 主循环:aeMain 函数 事件捕获与分发:aeProcessEvents 函数 事件注册:aeCreateFileEve...