redis為什么不用一致性hash redis的key如何尋址?
redis的key如何尋址?1. 如果redis集群未啟用,則通過hash算法計(jì)算密鑰,理論復(fù)雜度為O(1)。Redis采用雜音hash2版本,具有良好的規(guī)則密鑰分散性,確保哈希沖突盡可能小。2. 如
redis的key如何尋址?
1. 如果redis集群未啟用,則通過hash算法計(jì)算密鑰,理論復(fù)雜度為O(1)。Redis采用雜音hash2版本,具有良好的規(guī)則密鑰分散性,確保哈希沖突盡可能小。
2. 如果redis集群已啟用,則將執(zhí)行更多步驟。首先使用key計(jì)算密鑰存儲(chǔ)在集群中的機(jī)器,然后使用hash從這臺(tái)機(jī)器定位。
如何自己實(shí)現(xiàn)一個(gè)和redis中hash具有一樣的功能的結(jié)構(gòu)?
建議您可以從Java的HashMap中了解很多。你可以自己實(shí)現(xiàn)一個(gè)哈希算法。當(dāng)實(shí)現(xiàn)一個(gè)數(shù)組(可以動(dòng)態(tài)擴(kuò)展,但是位置不夠,需要添加長度)時(shí),還需要一個(gè)鏈表以防哈希沖突。這沒關(guān)系