Posts
All the articles I've posted.
-
缓存设计——穿透、击穿、雪崩的完整防御体系
缓存穿透用布隆过滤器拦截非法 key,击穿用互斥锁保证单线程回源,雪崩用 TTL 随机化分散过期时间。
-
布隆过滤器的双重哈希技巧
通过一次 MurmurHash3 调用的高低 32 位做线性组合,模拟 k 个独立哈希函数的效果。
-
布隆过滤器 vs 布谷鸟过滤器——为什么布隆过滤器不支持删除?
布隆过滤器位数组共享导致不可删除,布谷鸟过滤器用 XOR 可逆指纹实现双向定位与删除。
-
ZipList连锁更新到listpack——Redis压缩列表的演进
ZipList 的连锁更新问题根因在于变长编码依赖前驱节点,listpack 通过自描述编码彻底根除这一设计缺陷。
-
Redis渐进式rehash
揭示 Redis 如何通过 ht[0]/ht[1]双表+rehashidx 游标,将 O(n)全量迁移拆为 n 次 O(1)微步,在每次读写命令中顺带推进,配合 serverCron 毫秒级时间预算兜底。
-
Redisson分布式锁的Lua脚本实现
剖析 Redisson 如何用一段 Lua 脚本解决手写 SET NX EX 的三个经典坑——锁超时误删、不可重入与释放原子性,以及 WatchDog 自动续期机制。
-
Redis 缓存更新策略三大模式:Cache Aside、Read/Write Through、Write Back
对比 Cache Aside、Read/Write Through 与 Write Back 三种缓存更新模式的核心原理、一致性保证和适用场景,给出生产环境的选型决策树。
-
Redis 淘汰策略详解:LRU 与 LFU
对比 Redis 八种内存淘汰策略,重点剖析近似 LRU 随机采样算法与 LFU 对数计数器+时间衰减的精妙设计,以及三者关键参数调优指南。