我使用redis爲我的web應用程序實現社交流和通知系統。我是redis的新手,對散列和效率有一些疑問。redis - 使用哈希
我讀過這個真棒Instagram post 我計劃實施他們類似的解決方案以實現最小的存儲。
在他們的博客中提到,他們不喜歡這樣
取散型的優勢,我們鬥了所有介質ID爲1000桶(我們只取ID,除以1000,並丟棄其餘的)。這決定了我們陷入的關鍵;接下來,在生存在該密鑰的散列內,媒體ID是散列中的查找鍵,並且用戶ID是該值。一個實例中,給定的1155315媒體ID,這意味着它落入桶1155(千分之一百十五萬五千三百十五= 1155):在一個
HSET "mediabucket:1155" "1155315" "939"
HGET "mediabucket:1155" "1155315"
> "939"
所以代替具有1000單獨鍵它們存儲它的與千位查找鍵的散列。我的疑問是爲什麼我們不能將查找關鍵值增加到更大。
例如:Media ID of 1155315 will fall into mediabucket:115 by dividing it by 10000
甚至更大。
他們爲什麼用一個帶有1000個查找鍵的哈希桶來解決問題。爲什麼他們不能有一個哈希桶與100000查找鍵。是否與效率有關?
我需要你的建議在我的web應用程序中實現高效的方法。
P.S.請!不要說,stackoverflow不是提問的建議,我不知道在哪裏可以找到幫助。
謝謝!
謝謝,所以我會去1000 :) – rnk