1 Redis 是C语言实现的
2 C字符串是 /0 结束的字符数组
3 Redis具体的动态字符串实现
/* * 保存字符串对象的结构 */ struct sdshdr { // buf 中已占用空间的长度 int len; // buf 中剩余可用空间的长度 int free; // 数据空间 char buf[]; };
sdshdr |
free 0 |
len 5 |
buf |
--->
‘R‘ | ‘e‘ | ‘d‘ | ‘i‘ | ‘s‘ | ‘/0‘ |
4 感觉更像 Java 中的 StringBuffer 的设计
时间: 2024-12-19 08:14:23