开发者社区> 问答> 正文

为什么Redis底层使用SDS(Simple Dynamic Strings)结构体而不是C语言原生

为什么Redis底层使用SDS(Simple Dynamic Strings)结构体而不是C语言原生的字符串?

展开
收起
不吃核桃 2024-08-13 23:40:10 34 0
1 条回答
写回答
取消 提交回答
  • Redis底层使用SDS结构体而不是C语言原生的字符串,主要是因为SDS提供了几个关键的优势:
    低复杂度获取字符串长度:SDS结构体中直接存储了字符串的长度(len),因此可以在O(1)复杂度内获取字符串的长度。而C语言字符串需要遍历整个字符串来计算长度,复杂度为O(n)。

    2024-08-14 08:04:54
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis集群演化的心路历程——从2.x到3.0时代 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载