2015-11-14 42 views
1

我正試圖讓兩全其美。使用redis集以及具有確定性。這可能嗎?可以在redis中設置確定性嗎?

SADD myset "foo" 
SADD myset "bar" 

不過,如果我請求的元素來處理

SRANDMEMBER myset 

我想返回給是確定性的元件:

我使用通常的命令存儲一組。我實際上並不關心它是哪一個,但我希望我的代碼中的路徑可以重現,否則調試變得相當困難。

是否可以在redis中設置種子,或使用其他技術來確保上面的三個操作按順序始終返回相同的元素?

+0

你需要這個特定的情況來重複你的代碼中的某個場景嗎? – Rabea

回答

2

否 - SRANDMEMBER的行爲是不可控制的。

如果您需要訂購,即使僅僅爲了調試,我建議您使用不同的方法。 Sorted Sets是這個任務的自然候選人,並且行爲幾乎與Sets相同 - 使用0分,因此會按照字典順序排列並將SRANDMEMBER替換爲,並傳遞給您自己的客戶端隨機排名或確定性排名。

相關問題