2012-07-23 68 views
3

我想將數據作爲關鍵值存儲在Redis中。使用有序集合作爲列表不允許以鍵值格式存儲數據。所以使用排序集。Redis:將排序集的值作爲列表中的rpop獲取

但是我希望數據能夠在redis list rpop中工作。

redis的ZREM需要會員獲得分數,加上它的排序列表,所以我可以存儲在先來的方法?

或者我應該改變我使用的數據結構?

+0

我認爲你需要在redis中混合使用數據類型來實現這一點。無論如何已發佈一個可能的解決方案與排序集 – Tamil 2012-07-25 11:00:51

+0

新到stackoverflow,不知道我可以接受的答案。謝謝你讓我知道這一點。 – amitchhajer 2012-07-25 13:30:34

+0

@泰米爾我到目前爲止沒有嘗試過,一旦我願意,將會肯定地發表評論。 – amitchhajer 2012-07-25 14:19:37

回答

1

這是一個解決方案,但你應該在它的效率決定;)

ZREVRANGEBYSCORE key +inf -inf LIMIT 0 1 

您可以使用Redis的lists和存儲數據的

key[FS]value 

防爆要做的一件可能的事情:名稱: xxx

所以,一旦你彈出你的數據,你可以手動分割它們在客戶端

+1

它不會從集合中刪除成員。我們可以使用zrem手動刪除它,但它不會以高併發性工作,因爲並行請求將獲得與zrevrangebyscore相同的成員。 – 2013-11-13 10:14:38

+0

我有同樣的要求,任何解決方案,你Bogdan? – 2017-05-22 09:12:04