SDS即简单动态字符串,Redis没有使用C语言的字符串表示,而是自己创建了简单动态字符串,
在Redis里面,C语言的字符串只作为字符串字面量,无须对字符串进行修改的地方,例如日志打印
redisLog(REDIS_WARNING,"Redis is now ready to exit, bye bye...");
当需要被修改的字符串的时候,Redis就会使用SDS:例如,Redis的数据库里面,包含字符串值的键值对在底层都是用SDS实现的。
例如:reidis>SET msg "hellow word"
redis的键和值底层均用SDS
除此之外,SDS还被用做缓冲区(buffer):AOF模块中的AOF缓存区,以及客户端状态中的输入缓冲区。
注:本文为《Redis 设计与实现(黄健宏)》的读书笔记