Redis核心数据结构SDS与IntSet详解.pdfVIP

  • 0
  • 0
  • 约3.2万字
  • 约 44页
  • 2026-11-04 发布于北京
  • 举报

Redis数据结构

SDS整数集Dict压缩列表快速列表跳表

合

SDS

众所周知,Redis中的Key是字符串,而value通常是字符串或字符串的集合。显

然字符串是Redis中最常用的数据结构。

//c语言,字符串

char*

s

=hello

//本质是

字符数组:

{h,e,l,

l,

o,\0}

但Redis并未直接使用C语言的字符串,因为C语言字符串存在诸多:

•获取字符串长度需通过计算

•非二进制安全

•不可修改

Redis构建了一种名为简单动态字符串(Simple

Dynamic

String,简称

SDS)的新型字符串结构。

例如,我们执行以下命令:

:6379set

name

极客时间

那么Redis会在底层创建两个SDS,一个用于name的SDS,另一个用于极客

时间的SDS。

Redis由C语言实现,其中SDS是一个结构体,其源码如下:

__

struct

‑‑attribute‑

((‑packed

文档评论(0)

1亿VIP精品文档

相关文档