Redis中的数据结构设计学习笔记——SDS(简单动态字符串)
SDS的定义
struct sdshrd
{
int len; //记录buf数组中已使用的字节数,等于SDS所保存的字符串长度
int free; //记录buf数组中未使用的字节数
char buf[];//字节数组,用于保存字符串
};
关于未使用空间,SDS是如何使用的?
sds采用了空间预分配和惰性空间释放两种策略模式来管理未使用空间
空间预分配
①如果对SDS进行修改后,SDS的长度(即len)的长度小于1 MB,那么程序将分配与len属性同样大小的未使用空间
②如果对
原创
2021-11-27 19:42:29 ·
609 阅读 ·
0 评论