簡述memcache的理解和工作原理

Memcached:是緩存在內存中,也就是說服務器重啓之後就會消失。

Memcached是高性能的分佈式內存對象緩存系統,用於web應用以減輕數據庫的負載,它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提供動態、數據庫驅動網站的速度。

Memcached基於一個存儲鍵/值對的hashmap。


who在用memcached:
國外:yahoo,facebook.twitter,
國內:新浪,校內,豆瓣,開心網,搜狐,趕集

在web服務開發中,服務端緩存是服務實現過程常常採用的一種提高服務性能的方法,其通過記錄某部分計算結果來避免再次執行得到該結果的複雜計算,從而提高提高了服務的
運行效率,還能用提高服務的擴展性。因此一些大規模的web應用,如facebook,會常常構建一個龐大的服務端緩存,而它們所最常使用就是Memcached

一個簡單的例子:
大家應該都應該玩過網路遊戲,而在遊戲中會有一個天梯系統,其主要的功能就是爲玩家提供每位玩家的排名信息,而不允許玩家對該系統中所記錄的數據進行修改,所以說,讀
操作大於寫操作,一個遊戲每天的在線人數常常會達到上萬人,因此會對天梯系統的訪問是非常頻繁的,這樣會使一個非常消耗性能的事情。因此自然而然的一個想法就是對天梯玩家排名以後
記錄到緩存中,這樣每一位玩家再次訪問的時候就訪問緩存中的數據。而在一段時間以後,如一個小時後,我們在對緩存中的數據進行更新。以上所說的就是服務端緩存的最重要功能。


Memcahce 是把所有的數據保存在內存當中,採用 hash 表的方式,每條數據由 key 和 value 組成,每個 key 是獨一無二的,當要訪問某個值的時候先按照找到KEY,然後返回結果。
Memcahce 採用 LRU 算法來逐漸把過期數據清除掉。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章