Redis-string
2024.6.28
1.Redis中SDS(简单动态字符串)
SDS在C字符串的基础上加入了free和len字段
SDS可以存取二进制数据
由于SDS记录了长度,可以杜绝缓冲区溢出
对于C字符串,如果要修改字符串,必须要重新分配内存,而对于SDS,由于可以记录len和free,因此解除了字符串长度和空间数组长度之间的关联,可以在此基础上进行优化:空间预分配策略(即分配内存时比实际需要的多)使得字符串长度增大时重新分配内存的概率大大减小;惰性空间释放策略使得字符串长度减小时重新分配内存的概率大大减小,所以修改字符串时内存不会重分配

浙公网安备 33010602011771号