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内存满了,即使最近的那个值还没过期,也会被踢除(永久数据被踢除现象)

  • 相关阅读:
    496. 下一个更大元素 I『简单』
    492. 构造矩形『简单』
    443. 压缩字符串『简单』
    455. 分发饼干『简单』
    463. 岛屿的周长『简单』
    38. 外观数列『简单』
    28. 实现 strStr()『简单』
    441. 排列硬币『简单』
    628. 三个数的最大乘积『简单』
    575. 分糖果『简单』
  • 原文地址:https://www.cnblogs.com/tujia/p/5413028.html
Copyright © 2011-2022 走看看