摘要:
Redis 到底是不是单线程的程序? 多 IO 线程的初始化 IO 线程运行函数 IOThreadMain 如何推迟客户端「读」操作? 如何推迟客户端「写」操作? 如何把待「读」客户端分配给 IO 线程执行? 如何把待「写」客户端分配给 IO 线程执行? 总结 参考链接 Redis 源码简洁剖析系列 阅读全文
摘要:
aeEventLoop IO 事件处理 IO 事件创建 读事件处理 写事件处理 时间事件处理 时间事件定义 时间事件创建 时间事件回调函数 时间事件的触发处理 参考链接 Redis 源码简洁剖析系列 aeEventLoop Redis 事件驱动框架对应的数据结构,在 ae.h 中定义,记录了运行过程 阅读全文
摘要:
Reactor 模型 事件驱动框架 Redis 如何实现 Reactor 模型 事件的数据结构:aeFileEvent 主循环:aeMain 函数 事件捕获与分发:aeProcessEvents 函数 事件注册:aeCreateFileEvent 函数 总结 参考链接 Redis 源码简洁剖析系列 阅读全文
摘要:
select, poll, epoll 源码分析 参考链接 Redis 源码简洁剖析系列 select, poll, epoll 关于 select, poll, epoll,网络 IO 演变发展过程和模型介绍 这篇文章讲得很好,本文就不浪费笔墨了。 Redis 如何针对不同操作系统,选择不同的 阅读全文
摘要:
前言 问题 阶段 1:基本初始化 阶段 2:检查哨兵模式,执行 RDB 或 AOF 检测 阶段 3:运行参数解析 阶段 4:初始化 server 资源管理 初始化数据库 创建事件驱动框架 阶段 5:执行事件驱动框架 参考链接 Redis 源码简洁剖析系列 前言 main 函数是 Redis 整个运行 阅读全文
摘要:
quicklist 为什么要设计 quicklist 特点 数据结构 quicklistCreate quicklistDelIndex quicklistDelEntry quicklistInsertBefore, quicklistInsertAfter listpack 是什么 数据结构 编 阅读全文
摘要:
ziplist 是什么 Redis 哪些数据结构使用了 ziplist? ziplist 特点 优点 缺点 ziplist 数据结构 ziplist 节点 pre_entry_length encoding 和 length content ziplist 基本操作 创建新 ziplist 将节点添 阅读全文
摘要:
Sorted Set 是什么 Sorted Set 命令及实现方法 Sorted Set 数据结构 跳表(skiplist) 跳表节点的结构定义 跳表的定义 跳表节点查询 层数设置 跳表插入节点 zslInsert 跳表删除节点 zslDelete Sorted Set 基本操作 zsetAdd z 阅读全文
摘要:
Redis Hash 源码 Redis Hash 数据结构 Redis rehash 原理 为什么要 rehash? Redis dict 数据结构 Redis rehash 过程 什么时候触发 rehash? rehash 扩容多大? 渐进式 rehash 为什么需要渐进式 rehash? 具体一 阅读全文
摘要:
前言 2021 年马上就要过去了,总结下自己在 2021 年看过的影视作品。附上往期的观影总结~ Yano 的 2019 观影总结 Yano 的 2020 观影总结 整体情况 豆瓣截图 B 站截图 自己的观影记录 电影 《沙丘》 今年一共在电影院看了 4 部电影,感觉这是最令人惊喜的一部,叙事很紧凑 阅读全文