zoukankan      html  css  js  c++  java
  • memcached的LRU删除机制

    1)memcached不会自动清空缓存的值
    如果add了一个值,但不去get它,那么这个值过期了,它也不会被清空。
    解释:memcached不自动检测和清空值,它只当你需要get这个值的时候,才检测这个值是否过期,过期则清空此值,并返回空。

    PS:可使用stats命令查询 memcached的curr_items和total_items状态


    2)memcached不会自动删除缓存的值
    即使一个值过期了,memcached也不会删除它,只了清空了它的值,状态改为已过期。
    真正删除值:只有当memcached内存满了,有新值需要占用空间,才会的把过期的值删除,存入新的值。


    3)删除规则
    刚刚说不自动删除值,只有当存入新的值,才会删除过期的值,那么删除哪一个过期值呢??

    FIFO删除机制
    这是其他应用删除机制,队列的删除机制,first in first out,先进先出,删除最先来的那个值

    memcached的LRU删除机制
    memcached的删除机制是LRU删除机制,它并不是删除最新存的那个值,而是删除最少使用的那个值。

    PS1:当get key的时候,此key的新鲜度更新为最新鲜,并不是新鲜度+1
    PS2:这种LRU删除机制并不是只删除过期的值,如果memcached内存满了,即使最近的那个值还没过期,也会被踢除(永久数据被踢除现象)

  • 相关阅读:
    CF261E Maxim and Calculator
    USACO Section 2.1
    码工新人的成长升职之路~
    Skip level 1 on 1
    有效利用1 on 1
    [职场感言] 入职一年总结
    职场新人建议
    L1 正则为什么会使参数偏向稀疏
    Inception网络
    ResNet
  • 原文地址:https://www.cnblogs.com/tujia/p/5413028.html
Copyright © 2011-2022 走看看