您的位置:首页 > 数据库 > Memcache

Memcache内存管理

2016-03-28 11:58 190 查看

内存碎片化

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

Memcache管理内存方法

slab allocator机制

将内存划分为数个slab class仓库

各个仓库切分成不同尺寸的小块(chunk)

需要存放内容的时候,需要先判断内容的大小,为期选择合理的仓库存放

memcache保存着slab class在空闲时chunk列表,存放时根据列表进行分配

(最优策略 )

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

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

Memcache删除机制

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

过期不会立马删除,只是让用户看不见这个数据

当某个新值去占用他的位置时,当成chunk来使用

当get key的时候,先判断key是否过期,如果过期返回空并删除

LRU删除机制

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

限制

key:250字节

value:1M,能存储一般文本
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: