6、从ziplist到quicklist,再到listpack的启发你好,我是蒋德钧。 在前面的[第4讲],我介绍Redis优化设计数据结构来提升内存利用率的时候,提到可以使用压缩列表(ziplist)来保存数据。所以现在你应该也知道,ziplist的最大特点,就是它被设计成一种内存紧凑型的数据结构,占用一块连续的内...2026-03-01Redis源码剖析与实战
5、有序集合为何能同时支持点查询和范围查询你好,我是蒋德钧。 有序集合(Sorted Set)是Redis中一种重要的数据类型,它本身是集合类型,同时也可以支持集合中的元素带有权重,并按权重排序。 而曾经就有一位从事Redis开发的同学问我:为什么Sorted Set能同时提供以下两种操作接...2026-03-01Redis源码剖析与实战
4、内存友好的数据结构该如何细化设计你好,我是蒋德钧。今天我们来聊聊,Redis中是如何通过优化设计数据结构,来提升内存利用率的。 我们知道Redis是内存数据库,所以,高效使用内存对Redis的实现来说非常重要。而实际上,Redis主要是通过两大方面的技术来提升内存使用效率的,分别是...2026-03-01Redis源码剖析与实战
3、如何实现一个性能优异的Hash表你好,我是蒋德钧。今天,我们来聊聊Redis中的Hash。 我们知道,Hash表是一种非常关键的数据结构,在计算机系统中发挥着重要作用。比如在Memcached中,Hash表被用来索引数据;在数据库系统中,Hash表被用来辅助SQL查询。而对于Red...2026-03-01Redis源码剖析与实战
2、键值对中字符串的实现,用char*还是结构体你好,我是蒋德钧。 字符串在我们平时的应用开发中十分常见,比如我们要记录用户信息、商品信息、状态信息等等,这些都会用到字符串。 而对于Redis来说,键值对中的键是字符串,值有时也是字符串。我们在Redis中写入一条用户信息,记录了用户姓名、性别、所...2026-03-01Redis源码剖析与实战
1、带你快速攻略Redis源码的整体架构你好,我是蒋德钧。从今天这节课开始,我们将开启“Redis代码之旅”,一起来掌握Redis的核心设计思想。 不过,在正式开始我们的旅程之前,还需要先做个“攻略”,也就是要了解和掌握Redis代码的整体架构。 这是因为,一旦掌握了Redis代码的整体架...2026-03-01Redis源码剖析与实战