redis数据结构-字符串

瘦欲@ 提交于 2019-12-28 17:25:21

数据结构

1.Redis简单动态字符串

Redis Simple Dynamic String

底层结构

Redis 对buf[]中的数据是二进制数据保存的。

 

 

计算长度时间复杂度

C语言字符串,计算长度,遍历字符串, 时间复杂度O(n)

Redis字符串,直接给出了长度,时间复杂度O(1)

 

空间分配策略

Redis如果每次修改字符串长度,都进行“重新分配内存空间”操作的话, 那么,连续更改操作,会导致性能受到影响。

故采用了两种策略:空间预分配和惰性空间释放

空间预分配策略

 

 

惰性空间释放策略

释放多余的内存空间,不会触发“重新分配内存空间”操作,只计数到free。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!