




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、講師介紹Hash從事Java軟件研發(fā)十年。前新浪支付成員、咪咕視訊(中國(guó)移動(dòng))項(xiàng)目經(jīng)理、對(duì)分布式架構(gòu)、高性能編程有深入的研究。明天,你一定會(huì)感謝今天奮力拼搏的你| JAVA架構(gòu)師課程原理Memcached內(nèi)存管理分布式高并發(fā)緩存技術(shù)目錄課程安排| JAVA架構(gòu)師課程04總結(jié)干貨太多,不總結(jié),我怕丟03Memcached緩存策略 LRU分段LRU、LRU Crawler02memcached內(nèi)存設(shè)計(jì)及管理01Memcached內(nèi)存分配機(jī)制Slab內(nèi)存分配目錄01Memcached內(nèi)存分配機(jī)制| JAVA架構(gòu)師課程Memcached內(nèi)存分配啟動(dòng)通過Memcached時(shí),-m指定內(nèi)存大小,將信息保存
2、到緩存中后才開始分配和保留物理內(nèi)存。Slaballocation機(jī)制對(duì)內(nèi)存進(jìn)行管理。(此處結(jié)合畫圖學(xué)習(xí))最大內(nèi)存默認(rèn)64,通過-m調(diào)整。內(nèi)存空間由slab classes,內(nèi)存以slabpage為去申請(qǐng),分配到對(duì)應(yīng)的slab class。slab page :最大1兆,由1個(gè)或多個(gè)chunk組成chunk:實(shí)際數(shù)據(jù)的單元| JAVA架構(gòu)師課程key + value + flags內(nèi)存 m 64slab class 2slab class .nslab class 1page 1page 2page 3chunkchunkchunkchunk.目錄02memcached內(nèi)存設(shè)計(jì)及管理| JAVA
3、架構(gòu)師課程內(nèi)存設(shè)計(jì)及管理Item為鍵值數(shù)據(jù)的實(shí)際儲(chǔ)存結(jié)構(gòu)。item主要由公共屬性、數(shù)據(jù)部分兩個(gè)部分組成。Chunk由申請(qǐng)的連續(xù)內(nèi)存塊平均切分而成,用來存放Item數(shù)據(jù),根據(jù)Item大小找到近似的Chunk。Slab管理特定大小的 chunk 的集合。Memcached每次默認(rèn)分配的的chunk。續(xù)內(nèi)存塊為1M大小,它們被切分為不同大小Hash tableMemcached的哈希表采用法實(shí)現(xiàn)。hashtable被分成多個(gè)桶bucket,哈希,通過h_next指針形成bucket下的單向鏈表。LURMemcached中每個(gè)slab中都維護(hù)了一個(gè)LRU鏈表,來組織該slab中已經(jīng)被分配的item塊,
4、用于用”的item信息?!白罱钌偈箌 JAVA架構(gòu)師課程目錄03Memcached緩存策略LRU| JAVA架構(gòu)師課程Memcached緩存策略LRU在1.4.x及更早版本中,memcached中的LRU是標(biāo)準(zhǔn)的雙向鏈表:有頭部和尾部。將新物品頭部,從尾部彈出物。如果某個(gè)項(xiàng)目,則將其從其位置取消,然后重新到頭部(此處稱為“碰撞”),返回到LRU的頂部。下面這些情況,帶有超時(shí)時(shí)間的會(huì)被刪除1.2.3.4.被人為刪除被set覆蓋刪除:過期后,被get、add等命令主動(dòng)清除:LRU機(jī)制問題點(diǎn):碰撞幾率太高,對(duì)同一個(gè)鏈表的修改導(dǎo)致大量的互斥鎖爭(zhēng)搶,導(dǎo)致CPU使用率高或者響應(yīng)變慢。| JAVA架構(gòu)師課
5、程Memcached緩存策略分段LRU每個(gè)Slab-class安排一個(gè)LRU,每個(gè)LRU拆分為四個(gè)子LRU類型。每個(gè)的數(shù)據(jù)都有兩個(gè)標(biāo)志位:FETCHED、ACTIVEØ FETCHED:該數(shù)據(jù)曾經(jīng)被請(qǐng)求過Ø ACTIVE: 該數(shù)據(jù)有兩次或以上被請(qǐng)求,當(dāng)數(shù)據(jù)被移動(dòng)時(shí)移除。TEMP: 該隊(duì)列中的 item TTL 通常只有幾秒,被挪動(dòng)。具體時(shí)間可配置 stats settingstemporary_ttl選項(xiàng)HOT:試用隊(duì)列,數(shù)據(jù)長(zhǎng)久存在該鏈表,一旦數(shù)據(jù)到達(dá)隊(duì)列的尾部,則開始移動(dòng)。如果物品處于活動(dòng)狀態(tài), 它將被移動(dòng)到WARM,非活動(dòng)狀態(tài),它將被移動(dòng)到COLD。WARM:量不大的數(shù)據(jù)如果物品處于活動(dòng)狀態(tài), 它將被移動(dòng)到warm頭部,非活動(dòng)狀態(tài),它將被移動(dòng)到COLD。COLD:最不活躍的數(shù)據(jù)回收時(shí)如果處于active狀態(tài),則移動(dòng)到warm,否則刪除。總結(jié):碰撞率變小了,提高了性能。| JAVA架構(gòu)師課程Memcached緩存策略LRUCrawlerLRU爬蟲是一個(gè)單獨(dú)的專門用來處理失效的數(shù)據(jù)線程檢查每個(gè)slabclass中每個(gè)子LRU鏈表|
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 手術(shù)護(hù)士培訓(xùn)上崗
- 如何提高課堂管理水平
- 體檢中心客服禮儀培訓(xùn)
- 泵站設(shè)備采購協(xié)議
- 弘揚(yáng)志愿服務(wù)精神教育
- 建筑工程安全保障合同
- 數(shù)據(jù)分析支持外包合同
- 2025年統(tǒng)編版小學(xué)道德與法治四年級(jí)下冊(cè)《買東西的學(xué)問》說課課件
- 2025年統(tǒng)編版小學(xué)道德與法治二年級(jí)下冊(cè)《健康游戲我常玩》說課課件
- 醫(yī)療耗材銷售年終工作總結(jié)
- 知道智慧網(wǎng)課《科技倫理》章節(jié)測(cè)試答案
- 陰滋病的課題:拉開攻破的序幕
- 項(xiàng)目部二級(jí)安全教育內(nèi)容
- 2022年研究生復(fù)試神經(jīng)外科題庫
- 904L材料焊接工藝設(shè)計(jì)規(guī)程
- 下肢靜脈曲張硬化治療指南
- 博士力士樂cvf變頻器使用手冊(cè)
- MT_T 142-1986 煤礦井下空氣采樣方法_(高清版)
- 路基施工技術(shù)5:路基防護(hù)與支擋工程施工
- 小學(xué)體育課堂教學(xué)設(shè)計(jì)與教案——跨越式跳高(水平三)
- ISO9001、ISO14001、ISO45001三體系內(nèi)審計(jì)劃+內(nèi)審檢查表+內(nèi)審報(bào)告
評(píng)論
0/150
提交評(píng)論