memcache的存儲(chǔ)方式
在啟動(dòng)memcache時(shí),memcache會(huì)申請(qǐng)若干個(gè)slab塊, 每個(gè)slab塊又會(huì)分配若干個(gè)page, 每個(gè)page的大小默認(rèn)為1M, 在數(shù)據(jù)緩存進(jìn)來的時(shí)候,memcache會(huì)查看是否有合適的slab,然后該slab是否有合適的chunk存儲(chǔ)數(shù)據(jù),這里的chunk就是用于存儲(chǔ)數(shù)據(jù)的最小單位, 每個(gè)page下會(huì)有若干個(gè)大小相同的chunk,而每個(gè)page之間的chunk又是不同的,如上圖,如果每個(gè)chunk大小為112Byte,那么對(duì)應(yīng)的page就是有100個(gè)chunk, 當(dāng)一個(gè)要緩存的數(shù)據(jù)打大小大于88byte而小于122byte時(shí),就會(huì)被存儲(chǔ)在這個(gè)page的某個(gè)chunk里。存儲(chǔ)的chunk的原則是不小于被存儲(chǔ)數(shù)據(jù)大小的最小size的那個(gè)chunk.
數(shù)據(jù)過期的方式1: Lazy Expiration
Memcache不會(huì)監(jiān)視數(shù)據(jù)的過期時(shí)間, 只是在get緩存的時(shí)候查看該緩存的時(shí)間戳(在緩存的時(shí)候會(huì)有記錄),如果超過就獲取不到,這種方式就是Lazy Expiration
2: LRU(Least Recently Used)
Memcache會(huì)以過期的緩存空間優(yōu)先存儲(chǔ)數(shù)據(jù),但假如內(nèi)存吃緊, 沒有可用的已過期的存儲(chǔ)空間,這種時(shí)候就會(huì)使用LRU機(jī)制, 刪除最近最少使用的的內(nèi)存空間。
使用一致性hash算法解決節(jié)點(diǎn)故障
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/61676.html
摘要:自己整理了一篇不同等級(jí)面試都問什么的文章,關(guān)注公眾號(hào)琉憶編程庫,回復(fù)等級(jí),我發(fā)給你。 你好,是我琉憶。今天是周五了,再上一天班就周末了,提前祝大家周末愉快。嘿嘿。這篇文章是本周Memcache和Redis內(nèi)存數(shù)據(jù)庫??嫉膶n}。本周一和周三更新的文章路徑:PHP面試??純?nèi)容之Memcache和Redis(1)PHP面試常考內(nèi)容之Memcache和Redis(2)本周(2019.2-18至...
摘要:自己整理了一篇不同等級(jí)面試都問什么的文章,關(guān)注公眾號(hào)琉憶編程庫,回復(fù)等級(jí),我發(fā)給你。 你好,是我琉憶。今天是周五了,再上一天班就周末了,提前祝大家周末愉快。嘿嘿。這篇文章是本周Memcache和Redis內(nèi)存數(shù)據(jù)庫常考的專題。本周一和周三更新的文章路徑:PHP面試??純?nèi)容之Memcache和Redis(1)PHP面試常考內(nèi)容之Memcache和Redis(2)本周(2019.2-18至...
摘要:余數(shù)分布式算法就是根據(jù)服務(wù)器臺(tái)數(shù)的余數(shù)進(jìn)行分散。余數(shù)分布式算法由于保存鍵的服務(wù)器會(huì)發(fā)生巨大變化,而影響緩存的命中率,但中,只有在上增加服務(wù)器的地點(diǎn)逆時(shí)針方向的第一臺(tái)服務(wù)器上的鍵會(huì)受到影響。 WHAT is Memcache? Free & open source, high-performance, distributed memory object caching system, g...
摘要:總結(jié)允許的緩存寫場(chǎng)景大部分情況,修改成本會(huì)高于增加一次,因此應(yīng)該淘汰緩存如果還在糾結(jié),總是淘汰緩存,問題也不大先操作數(shù)據(jù)庫,還是先操作緩存這里分了兩種觀點(diǎn),的觀點(diǎn)沈老師的觀點(diǎn)。這里我覺得沈老師可能忽略了并發(fā)的問題,比如說以下情況一個(gè)寫請(qǐng)求 緩存誤用 緩存,是互聯(lián)網(wǎng)分層架構(gòu)中,非常重要的一個(gè)部分,通常用它來降低數(shù)據(jù)庫壓力,提升系統(tǒng)整體性能,縮短訪問時(shí)間。 有架構(gòu)師說緩存是萬金油,哪里有問...
摘要:總結(jié)允許的緩存寫場(chǎng)景大部分情況,修改成本會(huì)高于增加一次,因此應(yīng)該淘汰緩存如果還在糾結(jié),總是淘汰緩存,問題也不大先操作數(shù)據(jù)庫,還是先操作緩存這里分了兩種觀點(diǎn),的觀點(diǎn)沈老師的觀點(diǎn)。這里我覺得沈老師可能忽略了并發(fā)的問題,比如說以下情況一個(gè)寫請(qǐng)求 緩存誤用 緩存,是互聯(lián)網(wǎng)分層架構(gòu)中,非常重要的一個(gè)部分,通常用它來降低數(shù)據(jù)庫壓力,提升系統(tǒng)整體性能,縮短訪問時(shí)間。 有架構(gòu)師說緩存是萬金油,哪里有問...
閱讀 2292·2021-11-15 11:37
閱讀 2959·2021-09-01 10:41
閱讀 792·2019-12-27 11:58
閱讀 751·2019-08-30 15:54
閱讀 717·2019-08-30 13:52
閱讀 2935·2019-08-29 12:22
閱讀 1080·2019-08-28 18:27
閱讀 1456·2019-08-26 18:42