Redis SDS避免缓冲区溢出与内存重分配机制.pdfVIP

  • 1
  • 0
  • 约2.12千字
  • 约 2页
  • 2026-07-01 发布于北京
  • 举报

Redis SDS避免缓冲区溢出与内存重分配机制.pdf

《002_redissds避免缓冲区溢出以及内存重分配》

c语言原生字符串,strlen,获取字符串长度,遍历,O(n),二进制不安全的,对于二进制数

据来说,、、音频、压缩文件,这种数据都是以一大堆的二进制串来的,里面

肯定会有很多\0空字符,对于c语言来说,的时候,一定要按照\0来截断,肯定不行

二进制不安全,原生的c语言字符串没法安全的二进制数据

redis里面的sds,他里面有两个关键的字段,len和free,buf=[]跟c语言没太大差别,

len和free很厉害,free的作用,我们还没讲,len有2个作用,直接len,strlen,O(1),

buf里的数据,不是遍历看到\0就停止

根据len指定字节数量的buf数字的内容,形成一个完整的内容,对于我们来说,redis

里的sds二进制的数据,、音,就算buf里包含了很多\0空字符,根据len来

,不是根据\0来截断,redissds可以实

文档评论(0)

1亿VIP精品文档

相关文档