Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
29道m(xù)emcached面試題含答案 PDF 下載
發(fā)布于:2024-01-24 11:13:27
(假如點擊沒反應,多刷新兩次就OK!)

29道m(xù)emcached面試題含答案  PDF 下載  圖1

 

 

 

資料內(nèi)容:

 

1、作為數(shù)據(jù)庫的前端緩存應用
完整緩存(易),靜態(tài)緩存,例如:商品分類(京東),以及商品信息,可事先放在內(nèi)存里,然后再對
外提供數(shù)據(jù)訪問,這種先放到內(nèi)存,我們稱之為預熱,(先把數(shù)據(jù)存緩存中),用戶訪問時可以只讀取
memcached)緩存,不讀取數(shù)據(jù)庫了。
執(zhí)點緩存(難),需要前端web程序配合,只緩存熱點的數(shù)據(jù),即緩存經(jīng)常被訪問的數(shù)據(jù)。先預熱數(shù)據(jù)
庫里的基礎數(shù)據(jù),然后在動態(tài)更新,選讀取緩存,如果緩存里沒有對應的數(shù)據(jù),程序再去讀取數(shù)據(jù)庫,
然后程序把讀取的新數(shù)據(jù)放入緩存存儲。
特殊說明 :
如果碰到電商秒殺等高并發(fā)的業(yè)務,一定要事先預熱,或者其它思想實現(xiàn),例如:稱殺只是獲取資格,
而不是瞬間秒殺到手商品。那么什么是獲取資格?就是在數(shù)據(jù)庫中,把0標成1.就有資格啦。再慢慢的
去領取商品訂單。因為秒殺過程太長會占用服務器資源。
如果數(shù)據(jù)更新,同時觸發(fā)緩存更新,防止給用戶過期數(shù)據(jù)。
對于持久化緩存存儲系統(tǒng),例如:redis,可以替代一部分數(shù)據(jù)庫的存儲,一些簡單的數(shù)據(jù)業(yè)務,投
票,統(tǒng)計,好友關(guān)注,商品分類等。nosql= not only sql
2、作業(yè)集群的session會話共享存儲
3Memcached服務在不同企業(yè)業(yè)務應用場景中的工作流程
web程序需要訪問后端數(shù)據(jù)庫獲取數(shù)據(jù)時會優(yōu)先訪問Memcached內(nèi)存緩存,如果緩存中有數(shù)據(jù)就直
接獲取返回前端服務及用戶,如果沒有數(shù)據(jù)(沒有命中),在由程序請求后端的數(shù)據(jù)庫服務器,獲取到
對應的數(shù)據(jù)后,除了返回給前端服務及用戶數(shù)據(jù)外,還會把數(shù)據(jù)放到Memcached內(nèi)存中進行緩存,等
待下次請求被訪問,Memcache內(nèi)存始終是數(shù)據(jù)庫的擋箭牌,從而大大的減輕數(shù)據(jù)庫的訪問壓力,提高
整個網(wǎng)站架構(gòu)的響應速度,提升了用戶體驗。
當程序更新,修改或刪除數(shù)據(jù)庫中已有的數(shù)據(jù)時,會同時發(fā)送請求通知Memcached已經(jīng)緩存的同一個
ID內(nèi)容的舊數(shù)據(jù)失效,從而保證Memcache中數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)一致。
如果在高并發(fā)場合,除了通知Memcached過程的緩存失效外,還會通過相關(guān)機制,使得在用戶訪問新
數(shù)據(jù)前,通過程序預先把更新過的數(shù)據(jù)推送到memcache中緩存起來,這樣可以減少數(shù)據(jù)庫的訪問壓
力,提升Memcached中緩存命中率。
數(shù)據(jù)庫插件可以再寫入更新數(shù)據(jù)庫后,自動拋給MC緩存起來,自身不Cache.