IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:Dictht

共 1 篇相关文章

IT 累计浏览 4,569

redis源代码分析 - hash table

这篇深入剖析了Redis核心数据结构之一——哈希表(dict)的实现。作者从`dict.c`源码出发,揭示了Redis如何用一个结构同时管理两张哈希表(`ht[0]`和`ht[1]`),并在`rehash`过程中巧妙地通过“渐进式迁移”来避免阻塞。 文章的关键在于讲清楚了“渐进式rehash”的运作机制:当需要扩容或收缩时,Redis并不会一次性完成迁移,而是将rehash过程分散到后续的每一次增删改查操作中,每次只迁移一小部分。同时,它详细说明了触发rehash的负载因子阈值,以及在rehash期间如何通过一个标志位确保操作的正确性。 这种设计使得即使在处理百万级键值的大型哈希表时,Redis也能保持极低的延迟。文章将这个精巧的工程实现拆解得清晰易懂,展现了Redis为追求高性能而做出的底层权衡与智慧。