介紹 由於在標准C中沒有字符串這一類型,因而Redis實現了一個自己的字符串sds。 源文件 sds.h sds.c 分析 數據結構 [cpp] // sds 類型 typedef char *sds; // sdshdr 結構 struct sdshdr { // buf 已占用長度 int len; // buf 剩余可用長度 int free; // 實際保存字符串數據的地方 char buf[]; }; 特點 主要支持如下操作 new,dump,cat,cpy,printf,trim,range,tolower/toupper,cmp,split,fromlonglong,以及和hex之間的轉換等。 技巧: sds就像是管理內存一樣不過這裡是管理的字符,需要保存其長度和空閒空間 使用預分配空間來擴展sds 支持自動擴展