![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis 源码解读
文章平均质量分 83
杨领well
君子食无求饱,居无求安,敏于事而慎于言,就有道而正焉。
展开
-
Redis 源码解析之通用双向链表(adlist)
Redis源码中广泛使用,作为一种通用的双向链表,用于简单的数据集合操作。adlist提供了基本的增删改查能力,并支持用户自定义深拷贝、释放和匹配操作来维护数据集合中的泛化数据value。原创 2023-04-08 12:20:57 · 336 阅读 · 1 评论 -
Redis 源码解读之 AOF Rewrite
原创 2021-04-13 06:39:34 · 275 阅读 · 0 评论 -
Redis 源码解读之逐出策略
Redis 源码解读之逐出策略背景和问题本文想解决的问题:redis 触发逐出的时机是怎样的?redis 逐出策略有哪些?如何在海量的 key 中快速找到逐出评价值(idle)最高的key,并将之逐出?LFU 算法的频率是如何统计的?结论redis 触发逐出的时机是怎样的?如图,主要有两个地方会触发逐出。更新 maxmemory 参数,导致实际使用内存大于该限制。处理客户端请求,使用到的内存大于内存限制。redis 逐出策略有哪些?逐出策略主要分为两个维原创 2021-04-05 08:26:11 · 390 阅读 · 0 评论 -
Redis 源码解读之 expire 的时机
本文想解决的问题:1. redis 如何感知并触发 key 过期的?2. 如何防止大规模的 key 同时过期,导致 redis 主循环阻塞在清理过期 key?3. 如何防止大 key 过期,导致 redis 主循环阻塞在清理大 key?4. 主动过期操作 activeExpireCycle 为什么要分为 beforesleep 期间执行的 FAST 循环 和 在定时任务中的 SLOW 循环?5....原创 2021-03-27 10:29:38 · 823 阅读 · 2 评论 -
Redis 源码解读之事件循环机制
本文想要解决的问题:1. Redis 事件循环(EventLoop)是怎样的?2. Redis 有几类事件,分别是怎么执行的?3. 如果事件循环没有文件事件(只有定时事件或没有任何事件),那么整个事件循环系统是怎么运行的?原创 2021-03-21 15:07:07 · 1405 阅读 · 2 评论 -
Redis 源码解读之 Rehash 的调用时机
Redis 源码解读之 Rehash 的调用时机背景和问题本文想要解决的问题什么时机触发 Rehash 操作什么时机实际执行 Rehash 函数结论背景问题的结论源码分析渐进式 Rehashrehash 算法描述触发 Rehash 的时机执行 Rehash 的时机附着在其他操作之后定时任务在 redis server 初始化时,会注册一个计时器事件, 定时执行 serverCron 任务。(关于 redis 的事件循环机制,有机会单独开几篇博客来介原创 2021-03-14 00:18:04 · 3970 阅读 · 14 评论