简单动态字符串(Simple Dynamic String)SDS,用作Redis 的默认字符串。
C语言中的字符串:以空字符结尾的字符数组
解析:embstr将RedisObject对象头和SDS对象连续存在一起,使用malloc方法一次分配;而raw需要俩次malloc,俩个对象头砸死内存地址上一般是不连续的。embstr最大能容纳的字符串长度是44字节
字符串在长度小于1M之前,扩容空间采用加倍策略,即保留100%冗余空间。当长度大于1M,没次扩容只会多分配1M的冗余空间。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。