Redis源码剖析(一)
基础数据结构部分 动态字符串 SDS 实现在 sds.h/sds.c。 设计原则 为什么不使用c语言原生的字符串操作库? c字符串用’\0’作为终止符,不能满足二进制安全,而且求字符串长度,拼接等操作都要遍历到’\0’来实现,需要自己控制内存使用,操作复杂度高。 ...
基础数据结构部分 动态字符串 SDS 实现在 sds.h/sds.c。 设计原则 为什么不使用c语言原生的字符串操作库? c字符串用’\0’作为终止符,不能满足二进制安全,而且求字符串长度,拼接等操作都要遍历到’\0’来实现,需要自己控制内存使用,操作复杂度高。 ...