2011-05-20 38 views
20

我目前正在將一些數據遷移到Redis,並且我正在考慮使用已排序的集合來存儲大約1.4e6項目(以及相關的分數/計數)。這個集合中的這些項目數量是否可能超過實際限制,使得使用該集合太痛苦?我計劃運行64位Redis,因此數據的可用內存不應該成爲問題。有沒有人有經驗與這種大小的排序集?如果是這樣,那麼您的插入和查詢時間如何?redis中的排序集中元素的數量是否有實際的限制?

回答

18

這取決於你想要做什麼與設置。簡單的操作大多是O(log n),這意味着它們只需要一百萬個項目集的兩倍,就像它們爲一千個項目集一樣。除非你的配置中存在嚴重損壞,比如內存限制小於設置,否則性能不應該成爲問題。

如果您需要小心操作多套設備,尤其是聯合設備,那麼對於百萬件套件而言,需要花費上千倍的時間。實際上,這不一定是個問題 - 無論如何,它對於你的目的來說足夠快(redis的命令記錄爲生產使用速度太慢,最好以毫秒爲單位),或者你可以調整操作的順序爲避免在真正的大集合上運行聯合。

10

我們的網站有一個大約2千萬個項目(電子郵件地址)整數分數的集合,它佔用了大約320MB的內存大小。

+0

是的,我們有大約1 M int => int對,我不知道它使用多少空間,但它應該在100mb左右。 – Juan 2017-05-04 21:45:23

相關問題