memcached删除机制和发展方向

 

memcached是缓存,所以数据不会永远存储保存在服务器,这是向系统引入mecached前提。

 

memcached删除机制:有效利用资源

    memcached不会释放以分配内存,记录超时后,客户端无法看见该记录,存储空间可重复使用。

    memcached内部不会监视记录是否过期,在get时才会检查,成为lazy(惰性),因此memcached不会在监视上耗费CPU时间。

 

LUR:从缓存中有效删除数据的原理

    memcached会优先使用已超时空间,即使如此,在空间不足下,会使用Least Recently Used机制分配空间。从最近未被是用地空间记录中搜索,将内存分配给新纪录。

 

memcached最新发展方向:

两大发展目标:二进制协议的策划和实现;外部引擎的加载功能。

    二进制协议:

        它不需要文本协议的解析处理,使原先高速上得性能更上一层楼,还能减少文本漏洞。

        协议的包为24帧,其后面是键和无结构数据。

    外部引擎:

        外部引擎的加载机制能封装memcached的网络功能、事件处理等复杂的处理。因此,现阶段通过强
制手段或重新设计等方式使memcached和存储引擎合作的困难就会烟消云散,尝试各种引擎就会变
得轻而易举了。

        引擎应当完成的操作:
            • 引擎信息(版本等)
            • 引擎初始化
            • 引擎关闭
            • 引擎的统计信息
            • 在容量方面,测试给定记录能否保存
            • 为item(记录)结构分配内存
            • 释放item(记录)的内存
            • 删除记录
            • 保存记录
            • 回收记录
            • 更新记录的时间戳
            • 数学运算处理
            • 数据的flush

        memcached支持外部存储的难点:网络和事件处理相关的代码(核心服务器)与内存存储的代码紧密关联。这种现象也称为tightly coupled(紧密耦合)。必须将内存存储的代码从核心服务器中独立出来,才能灵活地支持外部引擎。因此,基于我们设计的APImemcached被重构成下面的样子:

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值