Memcached的工作原理是什么?
發(fā)表時間:2023-07-09 來源:明輝站整理相關軟件相關文章人氣:
[摘要]本篇文章主要給大家介紹Memcached的工作原理。Memcached處理的原子是每一個(key,value)對(以下簡稱kv對),key會通過一個hash算法轉(zhuǎn)化成hash-key,便于查找、對比...
本篇文章主要給大家介紹Memcached的工作原理。
Memcached處理的原子是每一個(key,value)對(以下簡稱kv對),key會通過一個hash算法轉(zhuǎn)化成hash-key,便于查找、對比以及做到盡可能的散列。同時,memcached用的是一個二級散列,通過一張大hash表來維護。
Memcached有兩個核心組件組成:服務器端(server)和客戶端(client),在一個memcached的查詢中,client先通過計算key的hash值來確定kv對所處在的server位置。當server確定后,客戶端就會發(fā)送一個查詢請求給對應的server,讓它來查找確切的數(shù)據(jù)。因為這之間沒有交互以及多播協(xié)議,所以memcached交互帶給網(wǎng)絡的影響是最小化的。
舉例說明:考慮以下這個場景,有三個client分別是c1,c2,c3,還有三個ms分別是s1,s2,s3:
設置kv對
c1想設置key=”com”,value=”iQiyi”
c1拿到server列表,并對key做hash轉(zhuǎn)化,根據(jù)hash值確定kv對所存的server位置
s2被選中了
c1連接上s2,s2收到請求,把(key=”com”,value=”iQiyi”)存了起來
獲取kv對
c3想得到key=”com”的value
c3用相同的hash算法算出hash值,并確定key=”aa”的值存在s2上
c3連接上s2,并從s2那邊得到value=”iQiyi”
其他任何從c1,c2,c3的想得到key=”com”的值的請求都會發(fā)向s2
想學習更多Memcached相關知識,可關注PHP中文網(wǎng)的Memcached視頻教程 或 Memcached手冊 。
以上就是Memcached的工作原理是什么?的詳細內(nèi)容,更多請關注php中文網(wǎng)其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。