REDIS 二月 22, 2020

Redis内置数据结构之链表

文章字数 4k 阅读约需 4 mins. 阅读次数 1000000

编写Redis的C语言没有内置链表数据结构,因此Redis构建了自己的链表实现。

应用

  1. 列表键、发布、订阅、慢查询、监视器等功能
  2. 保存多个客户端的状态信息
  3. 构建客户端输出缓冲区(output buffer...
查看全文

REDIS 二月 21, 2020

Redis内置数据结构之简单动态字符串

文章字数 3.4k 阅读约需 3 mins. 阅读次数 1000000

简单动态字符串(simple dynamic string,以下简称SDS)是Redis的一个内置数据结构。Redis默认字符串并不是C字符串,而是SDS,Redis只会使用C字符串作为字面量用在一些无需更改字符串值的地方。

作用

  1. 是Redis的默认字符串表示
  2. 保存数据库中的字符串值
  3. 用作AOF缓冲区以及客户端状态中的输入缓冲区

定义

SDS定义在sds.h中,以结构体的形式定义,每个sdshdr结构体表示一个SDS值:

1
2
3
4
5
6
7
8
struct sdshdr{
// 记录buf数...
查看全文
0%