数据结构
1.Redis简单动态字符串
Redis Simple Dynamic String
底层结构
Redis 对buf[]中的数据是二进制数据保存的。
计算长度时间复杂度
C语言字符串,计算长度,遍历字符串, 时间复杂度O(n)
Redis字符串,直接给出了长度,时间复杂度O(1)
空间分配策略
Redis如果每次修改字符串长度,都进行“重新分配内存空间”操作的话, 那么,连续更改操作,会导致性能受到影响。
故采用了两种策略:空间预分配和惰性空间释放
空间预分配策略
惰性空间释放策略
释放多余的内存空间,不会触发“重新分配内存空间”操作,只计数到free。
来源:CSDN
作者:像我这么帅的一般都是主角哦
链接:https://blog.csdn.net/qq_32828777/article/details/103743974