Redis设计与实现 读书笔记(一)数据结构与对象
简单动态字符串
background
SDS,simple dynamic string
SDS是Redis的默认字符串表示
还可以作为缓冲区,AOF buffer,输入缓冲区
C字符串只会用作字符串字面量用在无需对字符串值进行修改的地方
实现
struct sdshdr{
int len;
int free;
char buf[];
}
与C字符串的区别
获取长度 O(1)
杜绝缓冲区溢出
C串的strcat要求desc后面为src预留了足够的memory,否则缓冲区溢出
原创
2021-11-21 11:46:24 ·
683 阅读 ·
0 评论