开发者社区> 问答> 正文

SDS(simple dynamic string)简单动态字符串的优点是什么?

SDS(simple dynamic string)简单动态字符串的优点是什么?

展开
收起
芯在这 2021-12-14 22:05:33 750 0
1 条回答
写回答
取消 提交回答
  • 优点

    常数复杂度获取字符串长度bash

    因为 len 属性的存在,咱们获取 SDS 字符串的长度只须要读取 len 属性,时间复杂度为 O(1)。而对于 C 语言,获取字符串的长度一般是通过遍历计数来实现的,时间复杂度为 O(n)。经过 strlen key 命令能够获取 key 的字符串长度。

    杜绝缓冲区溢出数据结构

    在 C 语言中使用 strcat 函数来进行两个字符串的拼接,一旦没有分配足够长度的内存空间,就会形成缓冲区溢出。而对于 SDS 数据类型,在进行字符修改的时候,会首先根据记录的 len 属性检查内存空间是否知足需求,若是不知足,会进行相应的空间扩展,而后在进行修改操做,因此不会出现缓冲区溢出。

    减小修改字符串的内存从新分配次数函数

    二进制安全ui

    兼容部分C字符串函数

    2021-12-14 22:05:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多