一.数据结构与对象
1.什么是 SDS?
Redis 没有直接使用 C 语言传统的字符吕表示 (以空字符结尾的字符数组,以下简称 C 字符串),而是自己构建了 一种名为简单动态字符串(simple dynamic string,SDS)的抽象象类型,并将 SDS 用作 Redis 的默认字符串表示。
存储 String 类型的 key-value 时,key 和 value 都是 SDS 类型的.字符串键值都用 SDS 表示.
redis> SET msg "hello world"
OK
**当做缓冲区使用:**除了用来保存数据库中的字符串值之外,SDS 还被用作缓冲区(buffer)。AOF 模块中的 AOF 缓冲区,以及客户端状态中的输入缓冲区,都是由 SDS 实现的
2.SDS 定义?
struct sdshdr{