站長資訊網
        最全最豐富的資訊網站

        memcached架構及緩存策略

        —————————————-概述—————————————-

        Memcached是一套高性能分布式內存對象緩存服務器。它將所有的數據統統保存在內存中,在內存中會維護一個巨大的hash表,支持任意存儲類型的數據,很多網站通過Memcached提高網站的訪問速度,尤其是對于大型的需要頻繁訪問的網站,減少查詢效率,提高查詢速度

        —————————————-架構—————————————-

        memcached架構及緩存策略

        C/S架構:

        服務端:Memcached服務端,通過C語言編寫而成

        客戶端:Memcached API客戶端,可以通過任何語言編寫,如php、py等

        特點:

        1.為了提高性能,memcached中保存的數據都存儲在memcached內置的內存空間中:由于數據僅存在于內存中,因此重啟memcached、重啟操作系統會導致全部數據消失

        2.基于libevent的事件處理:libevent是個程序庫,它將Linux的epoll、BSD類操作系統的kqueue等事件處理功能封裝成統一的接口;即使對服務器的連接數增加,也能發揮O(1)的性能;memcached使用這個libevent庫,因此能在Linux、BSD、Solaris等操作系統上發揮其高性能

        3.簡單key/value存儲:服務器不關心數據本身的意義及結構,只要是可序列化數據即可;存儲項由“鍵、過期時間、可選的標志及數據”四個部分組成

        4.功能的實現一半依賴于客戶端,一半基于服務器端:客戶負責發送存儲項至服務器端、從服務端獲取數據以及無法連接至服務器時采用相應的動作;服務端負責接收、存儲數據,并負責數據項的超時過期

        —————————————-緩存策略—————————————-

        Slab Allocator機制基本原理:

        按照預先規定的大小,將分配的內存分割成特定長度的塊chunk,并把尺寸相同的塊分成組,以完全解決內存碎片問題。但由于分配的是特定長度的內存,因此無法有效利用分配的內存。比如將100字節的數據緩存到128字節的chunk中,剩余的28字節就浪費了;按照預先規定的大小,將分配的內存分割成特定長度的內存塊chunk,再把尺寸相同的內存塊分層組chunk集合,這些內存不會釋放,可以反復利用

        memcached架構及緩存策略
        Slab Allocation機制角色:

        1.chunk為固定大小的內存空間,默認為96Byte

        2.page對應實際的物理空間,1個page為1M

        3.同樣大小的chunk集合又稱為slab

        memcached架構及緩存策略
        客戶端選擇slab機制:

        下面說明memcached如何針對客戶端發送的數據選擇slab并緩存到chunk中;memcached根據收到的數據的大小,選擇最適合數據大小的slab; memcached中保存著slab內空閑chunk的列表,根據該列表選擇chunk, 然后將數據緩存于其中

        memcached架構及緩存策略
        內存釋放機制:

        Laxzy Expiration:

        Memcached每個被存取的對象都有唯一的標識符key,存取操作均通過key進行,例如可以把后端數據庫中的select操作提取出來,然后對相應的SQL進行hash計算得出key,然后以這個key在memcached中查找數據,如果數據不存在,說明其尚未被寫入緩存中,并設置一個失效時間(比如1小時),在失效時間內的數據都是從緩存中提取,這樣就有效地減少了數據庫的壓力

        Least Recently Used(LRU):

        刪除“最近最少使用”的記錄的機制;當memcached的內存空間不足時,從最近未被使用的記錄中搜索,并將其空間分配給新的記錄;-M 參數禁止LRU功能,內存用盡時,memcached會返回錯誤,不建議使用memcached -M -m 1024

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 四虎国产精品永久一区| jizz国产精品网站| 色妞ww精品视频7777| 国产乱人伦偷精品视频| 99视频在线观看精品| 最新欧美性爱精品一区二区三区| 国产精品人成在线观看| 国产精品高清视亚洲精品| 日产精品一线二线三线芒果| 麻豆精品视频在线观看91| 国产精品第1页| 日韩精品在线一区二区| 99久久人妻无码精品系列| 人妻少妇精品中文字幕AV| 亚洲国产精品成人久久蜜臀 | 国产精品成人久久久久久久| 国内精品久久九九国产精品| 久久精品欧美日韩精品| 亚洲AV成人精品网站在线播放 | 无码人妻一区二区三区精品视频| 国产福利精品视频自拍| 老司机99精品99| 久久精品一区二区三区不卡| 国产精品免费观看| 精品亚洲欧美高清不卡高清| 精品午夜久久福利大片| 久久精品国产一区| 99久久免费国产精品| 99精品国产一区二区| www夜片内射视频日韩精品成人| 午夜精品美女写真福利| 91无码人妻精品一区二区三区L| 亚洲自偷自偷精品| 91精品啪在线观看国产电影| 91精品国产成人网在线观看| 999久久久国产精品| 国产精品 一区 在线| 久久国产精品一区| 欧美精品亚洲精品日韩精品| 综合久久精品色| 精品久久久久久亚洲精品 |