目录
一、引言
Reds没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串( simple dynamic string,SDS)的抽象类型,并将SDS用作 Redis的默认字符串表示。
在 Redis里面,C字符串只会作为字符串字面量( string literal)用在一些无须对字符串值进行修改的地方,比如打印日志。
下面我们说明SDS和C字符串的不同之处,解释为什么Redis要使用SDS而不是C字符串。
二、SDS的定义
struct sdshdr{
int len;//记录buf数组中已使用字节的数量
int free;//记录buf数组中为使用字节的数量
char buf[];//字节数组,用于保存字符串
};
示例