大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说redis字符串底层实现原理_c怎么将字符串存入数组,希望您对编程的造诣更进一步.
2.1 SDS的定义
struct { //buf中已使用的字节数,等于SDS所保存字符串的长度 int len; //buf中未使用的字节长度 int free; //字节数组,用于保存字符串 char[] buf; }
代码100分
2.2 SDS与C字符串的区别
C字符串 | SDS |
获取字符串长度的复杂度为 O(N) | 获取字符串长度的复杂度为O(1) |
API不安全,可能造成缓冲区溢出 | API安全,杜绝了缓冲区溢出 |
修改字符串长度N次必然需要N次内存重分配 | 修改字符串长度N次最多发生N次内存重分配 |
只能保存文本 | 二进制安全,可以保存文本和二进制数据 |
可以使用所有<string.h>中的函数 | 兼容部分C字符串函数,可使用部分<string.h>中的函数 |
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8804.html