Memcache内存管理

来源:互联网 发布:电脑阅读软件 编辑:程序博客网 时间:2024/06/07 15:30

内存碎片化

在不断malloc和free操作,会形成很小的内存的片段,我们无法继续利用。

Memcache管理内存方法

slab allocator机制
将内存划分为数个slab class仓库
各个仓库切分成不同尺寸的小块(chunk)
需要存放内容的时候,需要先判断内容的大小,为期选择合理的仓库存放

memcache保存着slab class在空闲时chunk列表,存放时根据列表进行分配
(最优策略 )

无法彻底解决内存浪费的问题,只能缓解。

增长因子:chunk块的大小比例。

Memcache删除机制

惰性删除(好处:减少cpu占用和检测成本)

  1. 过期不会立马删除,只是让用户看不见这个数据
  2. 当某个新值去占用他的位置时,当成chunk来使用
  3. 当get key的时候,先判断key是否过期,如果过期返回空并删除

LRU删除机制
LRU原理:当某个单位被请求的时候,维护一个计数器,通过计数器判断谁最少使用

限制

key:250字节
value:1M,能存储一般文本

0 0
原创粉丝点击