二進(jìn)制協(xié)議
不需要文本協(xié)議的解析處理胆数,使得memcached性能更高
分布式
將key保存在不同的服務(wù)器上
性能限制
請求最大15000qps
流量400Mbps
連接數(shù)超過10000個
分布式hash算法
取模
求得鍵整數(shù)的hash值寞蚌,除以服務(wù)器臺數(shù),所得的余數(shù)決定服務(wù)器
缺點: 當(dāng)添加或者移除服務(wù)器時瞬矩,緩存重組的代價相當(dāng)巨大,會影響緩存命中率
一致性哈希算法(Consistent Hashing)
首先求出memcached節(jié)點的哈希值,并將其配置到0--2^32的圓上塑娇。然后用同樣的方法求出存儲數(shù)據(jù)的鍵的hash值,并映射到圓上劫侧。然后從存儲數(shù)據(jù)映射的位置順時針查找埋酬,將數(shù)據(jù)保存到找到的第一個服務(wù)器上。
Consistent Hashing最大程度的抑制了鍵的重新分布烧栋,只有從增加服務(wù)器地點到逆時針相鄰第一臺服務(wù)器之間的鍵會受到影響写妥。
有的Consistent Hashing還采用了虛擬節(jié)點的思想,使用一般hash函數(shù)的話审姓,服務(wù)器的映射地點分布非常不均勻珍特。使用虛擬節(jié)點為每個服務(wù)器在環(huán)上分配100--200個點,這樣能抑制分布不均勻魔吐,最大限度的減小服務(wù)器增減時緩存重新分布扎筒。