0、开篇词:阅读Redis源码能给你带来什么

你好,我是蒋德钧,目前在中科院计算所任职副研究员。在2015年的时候,我和团队开始设计实现一个高性能键值数据库。为了实现这一目标,我们调研了业界常用的多种键值数据库,并选择Redis作为重点研究对象。在学习Redis的过程中,我就通读了Redis的源...

Redis源码剖析与实战

1、带你快速攻略Redis源码的整体架构

你好,我是蒋德钧。从今天这节课开始,我们将开启“Redis代码之旅”,一起来掌握Redis的核心设计思想。 不过,在正式开始我们的旅程之前,还需要先做个“攻略”,也就是要了解和掌握Redis代码的整体架构。 这是因为,一旦掌握了Redis代码的整体架...

Redis源码剖析与实战

2、键值对中字符串的实现,用char*还是结构体

你好,我是蒋德钧。 字符串在我们平时的应用开发中十分常见,比如我们要记录用户信息、商品信息、状态信息等等,这些都会用到字符串。 而对于Redis来说,键值对中的键是字符串,值有时也是字符串。我们在Redis中写入一条用户信息,记录了用户姓名、性别、所...

Redis源码剖析与实战

3、如何实现一个性能优异的Hash表

你好,我是蒋德钧。今天,我们来聊聊Redis中的Hash。 我们知道,Hash表是一种非常关键的数据结构,在计算机系统中发挥着重要作用。比如在Memcached中,Hash表被用来索引数据;在数据库系统中,Hash表被用来辅助SQL查询。而对于Red...

Redis源码剖析与实战

4、内存友好的数据结构该如何细化设计

你好,我是蒋德钧。今天我们来聊聊,Redis中是如何通过优化设计数据结构,来提升内存利用率的。 我们知道Redis是内存数据库,所以,高效使用内存对Redis的实现来说非常重要。而实际上,Redis主要是通过两大方面的技术来提升内存使用效率的,分别是...

Redis源码剖析与实战

5、有序集合为何能同时支持点查询和范围查询

你好,我是蒋德钧。 有序集合(Sorted Set)是Redis中一种重要的数据类型,它本身是集合类型,同时也可以支持集合中的元素带有权重,并按权重排序。 而曾经就有一位从事Redis开发的同学问我:为什么Sorted Set能同时提供以下两种操作接...

Redis源码剖析与实战
1238