Redis 内存回收

世界以痛吻我,我仍报之以歌。

简介

Redis在自己的对象系统中构建了一个引用计数(reference counting)技术实现的内存回收机制,通过这一机制,程序可以通过跟踪对象的引用计数信息,在适当的时候自动释放对象并进行内存回收。

引用计数的变化

对象的引用计数信息会随着对象的使用状态而不断变化:

  • 在创建一个新对象时,引用计数的值会被初始化为1
  • 当对象被一个新程序使用时,它的引用计数值会被增1
  • 当对象不再被一个程序使用时,它的引用计数值会被减1
  • 当对象的引用计数值变为0时,对象所占用的内存会被释放

对象的生命周期

对象的整个生命周期可以划分为创建对象、操作对象、释放对象三个阶段。