對的哈希表。通過key,可以存儲或查詢任意的數據。"/> 26uuu欧美视频在线观看,日韩男女高清

教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

memcached是怎么工作的?

更新時間:2020年07月09日13時45分 來源:傳智播客 瀏覽次數:

問題:memcached是怎么工作的?

答:

Memcached的神奇來自兩階段哈希(two-stagehash)。Memcached就像一個巨大的、存儲了很多<key,value>對的哈希表。通過key,可以存儲或查詢任意的數據。
客戶端可以把數據存儲在多臺memcached上。當查詢數據時,客戶端首先參考節(jié)點列表計算出key的哈希值(階段一哈希),進而選中一個節(jié)點;客戶端將請求發(fā)送給選中的節(jié)點,然后memcached節(jié)點通過一個內部的哈希算法(階段二哈希),查找真正的數據(item)。
舉個列子,假設有3個客服端1 23臺memcached A,B,C
Client 1想把數據"barbaz"以key“foo”存儲。Client 1首先參考節(jié)點列表(A, B, C)計算key“foo”的哈希值, 假設memcached B被選中。接著,Client 1直接connect到memcached B通過key“oo”把數據"barbaz”存儲進去。Client 2使用與Client 1相同的客戶端庫(意味著階段一的哈希算法相同),也擁有同樣的memcached列表(A, B, C)
于是,經過相同的哈希計算(階段一),Client 2計算出key“foo”在memcachedB上,然后它直接請求memcached B,得到數據"barbaz"。各種客戶端在memcached中數據的存儲形式是不同的(perl Storable php serialize,java hibernate,JSON等)。一些客戶端實現的哈希算法也不一樣。但是,memcached服務器端的行為總是一致的。
最后,從實現的角度看,memcached 是一個非阻塞的、基于事件的服務器程序。這種架構可以很好地解決C10K  problem,并具有極佳的可擴展性。




下面是傳智教育公開的幾套Java課程,您可以下載和在線觀看學習,如果想深入學習java并想找到不錯的java開發(fā)相關工作,建議報班學習傳智教育Java高級軟件工程師課程獲取【Java視頻教程+資料】加播妞1605146928606_課程資料.jpg:435946716。



0 分享到:
和我們在線交談!