redis没有直接使用C语言传统的字符串(以空字符结尾的字符串数组),而是自己构建了一种为简单动态字符串(simple dynamic strring, SDS), 并将SDS作为redis默认的字符串表示。数据结构redis定义的SDS由协议头和字符串组成,根据字符串的长度分为五种不同类型的字符串,不同长度的字符串分别使用不用的类型。header组成header = len + alloc + flag + bufheader释义len字符串的长度alloc字符串实际占用的存储空间(不包含header和null)flag字符串类型, sdshdr5 ... sdshdr64buf字符串指针SDS类型类型字符串长度备注sdshdr50 - 31空字符串使用sdshdr8表示sdshdr832 - 255sdshdr1
查看全文