随笔分类 - Redis 源码解读
摘要:Redis源码中广泛使用 **adlist(A generic doubly linked list)**,作为一种通用的双向链表,用于简单的数据集合操作。adlist提供了基本的增删改查能力,并支持用户自定义深拷贝、释放和匹配操作来维护数据集合中的泛化数据 `value`。
阅读全文
摘要:Redis 源码解读之逐出策略 背景和问题 本文想解决的问题: redis 触发逐出的时机是怎样的?redis 逐出策略有哪些?如何在海量的 key 中快速找到逐出评价值(idle)最高的key,并将之逐出?LFU 算法的频率是如何统计的? 结论 redis 触发逐出的时机是怎样的? 如图,主要有两
阅读全文
摘要:Redis 源码解读之 expire 的时机 背景和问题 本文想解决的问题: redis 如何感知并触发 key 过期的?如何防止大规模的 key 同时过期,导致 redis 主循环阻塞在清理过期 key?如何防止大 key 过期,导致 redis 主循环阻塞在清理大 key?主动过期操作 acti
阅读全文
摘要:Redis 源码解读之事件循环机制 背景和问题 本文想要解决的问题: Redis 事件循环(EventLoop)是怎样的?Redis 有几类事件,分别是怎么执行的?如果事件循环没有文件事件(只有定时事件或没有任何事件),那么整个事件循环系统是怎么运行的? 结论 Redis 事件循环(EventLoo
阅读全文
摘要:Redis 源码解读之 Rehash 的调用时机 背景和问题 本文想要解决的问题 什么时机触发 Rehash 操作?什么时机实际执行 Rehash 函数? 结论 什么时机触发 Rehash 操作? 缩容: Redis 定时任务 serverCron 会在每个周期内检查 bucket 的使用情况。当存
阅读全文

浙公网安备 33010602011771号