数据结构

1.Redis简单动态字符串

Redis Simple Dynamic String

底层结构

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

 

redis数据结构-字符串

 

计算长度时间复杂度

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

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

redis数据结构-字符串

 

空间分配策略

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

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

空间预分配策略

redis数据结构-字符串

redis数据结构-字符串

 

 

惰性空间释放策略

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

redis数据结构-字符串

 

 

redis数据结构-字符串

相关文章:

  • 2021-06-19
  • 2022-01-15
  • 2021-08-16
  • 2021-09-16
  • 2022-12-23
  • 2021-10-23
  • 2021-12-11
猜你喜欢
  • 2022-01-08
  • 2021-07-31
  • 2022-12-23
  • 2021-12-03
  • 2021-11-28
相关资源
相似解决方案