点击这里查看第一章:引言
点击这里查看第三章:跳跃表

第2章

简单动态字符串
简单动态字符串(Simple Dynamic Strings,SDS)是Redis的基本数据结构之一,用于存储字符串和整型数据。SDS兼容C语言标准字符串处理函数,且在此基础上保证了二进制安全。本章将详细讲解SDS的实现,为读者理解Redis的原理和各种命令的实现打下基础。

2.1 数据结构

在学习SDS源码前,我们先思考一个问题:如何实现一个扩容方便且二进制安全的字符串呢?
什么是二进制安全?通俗地讲,C语言中,用“0”表示字符串的结束,如果字符串中本身就有“0”字符,字符串就会被截断,即非二进制安全;若通过某种机制,保证读写字符串时不损害其内容,则是二进制安全。
SDS既然是字符串,那么首先需要一个字符串指针;为了方便上层的接口调用,该结构还需要记录一些统计信息,如

收藏 打印