ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
下面表格中列举了`Redis`中的`sds`和`C`语言中实现的字符串的区别: | C 字符串 | SDS | | --- | --- | | 只能保存文本类不含空字符串`\0`数据 | 可以保存文本或者二进制数据,允许包含空字符串`\0` | | 获取字符串长度的复杂度为`O(n)` | 获取字符串长度的复杂度为`O(1)` | | 操作字符串可能会造成缓冲区溢出 | 不会出现缓冲区溢出情况 | | 修改字符串长度`N`次,**必然需要**`N`次内存重分配 | 修改字符串长度`N`次,**最多需要**`N`次内存重分配 | | 可以使用`C`字符串相关的**所有**函数 | 可以使用`C`字符串相关的**部分**函数 |