zoukankan      html  css  js  c++  java
  • memcached删除机制与大数据缓存问题

     

     一、LRU删除机制

      a) 当某个值过期后,并没有从内存删除,因此stats统计时,curr_item有其信息。

      b) get其值时,判断是否过期,如果过期就返回空并删除。

      c) 当添加新值去占用它的位置时,把它当成空chunk来占用位置。

      注:数据过期只是不让用户看到数据,并没有真正删除,该行为称为lazy expiration(惰性失效)。如果chunk占满了,又有新的值加入则根据LRU删除机制挤掉最近最少用的数据(最旧的)。

    二、分布式之取模算法的缺陷

      a) 假设有8台服务器,运行中突然down一台,则求余的底数变成了7,后果key9%/8==1变成key9%7==2 miss(没命中)

      。。。。。。

      key55%/8==7变成key55%7==6 miss(没命中)

      所以服务器在down短期内,命中率急剧下降。

      因此采用一致性哈希分布式算法实现。

    三、缓存雪崩现象

      一般是指某个节点失效,导致其他节点的缓存命中率下降,短时间内缺失大量缓存数据(或缓存数据大量失效)需要去数据库查询,造成数据库服务器崩溃。

      a) 把缓存设置为随机39小时的生命周期,不同时期失效,分散失效时间点。

      b) 把缓存时间调长,夜里(或服务器负载低的时候)跑脚本刷新缓存。

    四、缓存无底洞现象

      是指memcached连接频繁,效率下降了,因此添加了memcached节点,添加后连接频率高导致的问题仍然存在,该现象称之为无底洞现象。

      a) 对于memcachedredis这种key-value存储,key的设计可以参考mysql中表/列的设计,比如user表下的的agename列。把某一组key,按其共同前缀来分布,key应该设计为: user-133,而不是user-133-age,user-133-name.

    五、永久数据被踢现象

      a) 原因:惰性删除与LRU最少使用记录删除

      b) 解决:永久数据和非永久数据分开

  • 相关阅读:
    LSMW TIPS
    Schedule agreement and Delfor
    Running VL10 in the background 13 Oct
    analyse idoc by creation date
    New Journey Prepare
    EDI error
    CBSN NEWS
    Listen and Write 18th Feb 2019
    Microsoft iSCSI Software Target 快照管理
    通过 Microsoft iSCSI Software Target 提供存储服务
  • 原文地址:https://www.cnblogs.com/zgxblog/p/13220521.html
Copyright © 2011-2022 走看看