Memcached

Memcached 學習一

一、概念
二、原理
三、使用場合
四、關注點


概念

    Memcached是一套分佈式內存對象緩存系統,使用於在動態系統中減少數據庫負載,提升程序的性能

原理

Memcached是一種基於內存的key-value存儲,用來存儲小塊的任意數據(字符串、對象)。 這些數據可以是數據庫調用、API調用或者是頁面渲染的結果。
Mecached有兩個核心組件組成:服務端(ms)和客戶端(mc)。首先mc拿到ms列表,並對key做hash轉化,根據hash值確定kv對所存的ms位置。然後在一個memcached的查詢中,mc先通過計算key的hash值來確定kv對所處在的ms位置。當ms確定後,客戶端就會發送一個查詢請求給對應的ms,讓它來查找確切的數據。因爲ms之間並沒有護衛備份,也就不需要互相通信,所以效率較高。

使用場合

1.分佈式應用。由於memcached本身基於分佈式的系統,所以尤其適合大型的分佈式系統。
2.數據庫前段緩存。數據庫常常是網站系統的瓶頸。數據庫的大併發量訪問,常常造成網站內存溢出。當然我們也可以使用Hibernate的緩存機制。但memcached是基於分佈式的,並可獨立於網站應用本身,所以更適合大型網站進行應用的拆分。
3.服務器間數據共享。舉例來講,我們將網站的登錄系統、查詢系統拆分爲兩個應用,放在不同的服務器上,並進行集羣,那這個時候用戶登錄後,登錄信息如何從登錄系統服務器同步到查詢系統服務器呢?這時候,我們便可以使用memcached,登錄系統將登錄信息緩存起來,查詢系統便可以獲得登錄信息,就像獲取本地信息一樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章