<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
    memcached

     Memcached 是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協議與守護進程通信。但是它并不提供冗余(例如,復制其hashmap條目);當某個服務器S停止運行或崩潰了,所有存放在S上的鍵/值對都將丟失。

    Memcached官方:http://danga.com/memcached/

    關于Memcached的介紹請參考:Memcached深度分析

    下載Windows的Server端

    下載地址:http://code.jellycan.com/memcached/

    windows服務端下載地址:
    http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip
    windows服務端安裝:
    http://www.cnblogs.com/xd502djj/archive/2012/09/25/2701800.html
    http://www.cnblogs.com/wucg/archive/2011/03/01/1968185.html
    ehcache集群的相關文章:
    http://www.cnblogs.com/yangy608/archive/2011/10/07/2200669.html
    http://www.cnblogs.com/hoojo/archive/2012/07/19/2599534.html
    http://www.open-open.com/lib/view/open1345651870876.html

    以圖為例
    Cache A、Cache B,Cache C為三臺Memcached服務器
    根據三臺Memcached的IP和端口,計算出他們的Hash值,然后分布在整個圓環上
    每兩臺Memcached服務器的Hash值之間為一個區間
    Key1、Key2、Key3、Key4
    為要存儲在Memcached里的4個Key
    根據4個Key計算出他們的Hash值,同樣也落在這個圓環上
    在這個環形空間中,如果沿著順時針方向從對象的 key 值出發,直到遇見一個 cache ,那么就將該對象存儲在這個 cache 上,因為對象和 cache 的 hash 值是固定的,因此這個 cache 必然是唯一和確定的。
    根據上面的方法,對象 key1 將被存儲到 cache A 上; key2 和 key3 對應到 cache C ; key4 對應到 cache B;
    同一個key不是三臺服務器上面都有映射, 只會映射到其中一臺服務器上面

    集群中其中一個Memcached節點宕機,會導致存在著上面的Key全部失效而重新對這些key進行hash
    對其他活著的Memcached節點上的key沒有影響

    如果是集群
    Set和Get時觸發操作的是否為同一個配置
    如果是多個應用服務器觸發Set、Get操作,每一個的Memcached節點配置順序是否相同
    可以通過telnet的方式,去Memcached節點上Get一下響應的Key,看是否真的過期

    你分析一下你的slab構成,看看每個slab分配了多少page頁,加起來是不是跟總分配內存一樣,如果是一樣的表示你的內存已經分配完了,每個slab只能使用已分配的大小,不能再增漲。再分析一下存這個value的slab的大小,如果比較小,且hits量很大,就會出現你這樣的情況,剛存沒多久的數據沒到過期就會被擠掉。

    失效就幾種可能:
    1,cache滿了,剛插進去就被lru剔出來
    2,失效時間設置不對,導致數據一插進去就失效(不能超過30天)

     使用了64的操作系統,能分配2GB以上的內存。32位操作系統中,每個進程最多只能使用2GB內存。可以啟動多個分配2GB以下內存的進程,但這樣一臺服務器上的TCP連接數就會成倍增加,管理上也變得復雜,所以盡量統一使用了64位操作系統。
    另外,最好分配內存為3GB,是因為內存分配量超過這個值,就有可能導致內存交換(swap),memcached的內存存儲“slab”, memcached啟動時指定的內存分配量是memcached用于保存數據的量,沒有包括“slab”本身占用的內存、以及為了保存數據而設置的管理空間。因此,memcached進程的實際內存分配量要比指定的容量要大。
    如果在memcached中的數據大部分都比較小。這樣,進程的大小要比指定的容量大很多。因此,改變內存分配量進行驗證,確認了3GB的大小不會引發swap。

     64位操作系統不受限制(小于你的物理內存大小即可),不過得注意Memcache軟件本身是有內存消耗的(相比可以忽略),但這點還是注意一下。
    posted on 2013-08-09 17:34 abin 閱讀(581) 評論(0)  編輯  收藏 所屬分類: memcache
    主站蜘蛛池模板: 一本大道一卡二大卡三卡免费| 影音先锋在线免费观看| 久久狠狠高潮亚洲精品| 免费无码又黄又爽又刺激| 免费激情网站国产高清第一页| 色猫咪免费人成网站在线观看| 免费夜色污私人影院在线观看| 亚洲av无码一区二区三区观看| 美女无遮挡拍拍拍免费视频 | 女人被免费视频网站| 免费一级全黄少妇性色生活片 | 亚洲日韩在线中文字幕第一页| 亚洲AV成人一区二区三区观看| 无码国产精品一区二区免费式直播| 中文字幕亚洲第一在线| 免费v片在线观看品善网| 四虎国产成人永久精品免费| 亚洲av无码成人影院一区| 亚洲午夜视频在线观看| 亚洲国产成人精品女人久久久 | 中文字幕人成无码免费视频| 一级做a爰片久久免费| 亚洲高清中文字幕免费| 亚洲Av熟妇高潮30p| 亚洲精品专区在线观看| 好大好深好猛好爽视频免费| 中文字幕亚洲免费无线观看日本| 亚洲福利视频导航| 凹凸精品视频分类国产品免费| 免费看黄福利app导航看一下黄色录像| 精品国产麻豆免费网站| 四虎国产成人永久精品免费| 美女黄网站人色视频免费| 亚洲乱码中文字幕小综合| 久久亚洲精品中文字幕三区| 国产gav成人免费播放视频| 久久99九九国产免费看小说| 久久精品私人影院免费看| 国产精品偷伦视频免费观看了| 亚洲AV无码国产在丝袜线观看| 亚洲大成色www永久网址|