Featured image of post 【Redis】内部数据结构详解(1)——dict

【Redis】内部数据结构详解(1)——dict

本文深入解析Redis内部数据结构dict的实现原理,涵盖其数据结构定义、创建、查找、插入、替换和删除操作。重点介绍了Redis如何通过增量式重哈希(incremental rehashing)优化性能,避免一次性重哈希带来的响应时间波动。适合对Redis底层实现感兴趣的开发者阅读。

Featured image of post 【Redis】内部数据结构详解(2)——sds

【Redis】内部数据结构详解(2)——sds

本文详细解析了Redis中的SDS(Simple Dynamic String)数据结构,包括其动态扩展、二进制安全、与C字符串兼容等特性,以及SDS的内部实现原理和常用操作函数。通过代码示例和图示,深入探讨了SDS的header结构、内存分配策略及其与Redis string类型的关系。

Featured image of post 【Redis】内部数据结构详解(3)——robj

【Redis】内部数据结构详解(3)——robj

本文详细解析了Redis内部数据结构robj的实现原理,重点介绍了robj如何统一表示多种数据类型,并通过不同的编码方式优化内存使用。文章深入探讨了string类型robj的编码与解码过程,以及robj在Redis中的作用,帮助读者理解Redis底层数据结构的核心机制。

Featured image of post 【Redis】内部数据结构详解(5)——quicklist

【Redis】内部数据结构详解(5)——quicklist

在本文中,我们介绍一个Redis内部数据结构——quicklist。Redis对外暴露的list数据类型,它底层实现所依赖的内部数据结构就是quicklist。我们在讨论中还会涉及到两个Redis配置(在redis.conf中的ADVANCED CONFIG部分):list-max-ziplist-size -2list-compress-depth 0我们在讨论中会详细解释这两个配置的含义。注:本文讨论的quicklist实现基于Redis源码的3.2分支。

Featured image of post 【Redis】内部数据结构详解(6)——skiplist

【Redis】内部数据结构详解(6)——skiplist

本文详细介绍了Redis中的skiplist数据结构,包括其原理、实现方式以及与平衡树和哈希表的比较。通过分析skiplist的查找、插入和删除操作,解释了其在Redis中的应用场景,特别是在sorted set中的实现细节。文章还探讨了Redis如何通过skiplist、dict和ziplist结合来实现高效的排序集合操作。

Featured image of post 【网络】tcp/ip详解

【网络】tcp/ip详解

TCP/IP协议是互联网的基础协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。本文主要介绍TCP/IP协议的基本概念和运行机制。

Featured image of post 【golang】泛型

【golang】泛型

2022年3月,争议非常大但同时也备受期待的泛型终于伴随着Go1.18发布了。参考 Type Parameters Proposal,写一篇比较完整系统介绍Go1.18 泛型的文章。