Memcache内存管理

内存碎片化

在不断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,能存储一般文本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值