Redis-简单动态字符串

这是读redis设计与实现的一系列读书笔记

1、SDS定义

C语言字符串:用一个 结尾的 char 数组来表示
SDS:redis自己定义的简单动态字符串(simple dyanmic string,SDS)的抽象类型,并且将SDS作为redis的默认字符串
例如:
redis >set msg "hello redis"
redis 会在数据库中创建一个新的键值对
键:一个字符串对象,底层实现是一个字符串"msg"的SDS
值:同样是一个"hello redis" 的SDS

每个 sds.h/sdshdr 结构表示一个 SDS 值:

struct sdshdr {
// 记录 buf 数组中已使用字节的数量
// 等于 SDS 所保存字符串的长度
int len;

// 记录 buf 数组中未使用字节的数量
int free;

// 字节数组,用于保存字符串
char buf[];

};

2、SDS与C字符串的区别

3、SDS API

作者:starryfeiii
出处:http://www.cnblogs.com/feiii/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,原文链接否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/feiii/p/7838011.html