redis是C语言实现的,但redis中的字符串并没有直接用C语言中的字符串表示,而是自己构建了一种简单的动态字符串类型(SDS)。
在redis里面,C字符串只用作字面量,用在一些不会修改的地方,eg:打日志。
SDS的结构:
struct sdshdr{ int free; int len; char buf[]; }
free 属性值为0 表示这个sds未分配未使用的空间。
len 属性值为5 表示sds保存一个5字节长度的字符串。
buf 是char类型数组保存字符串的每个字节,并在字符串结尾增加“