2013-08-31 75 views
0

在Python中,我有包含其他對象的對象。使用Redis來表示這種情況的最佳方式是什麼?Redis和redis-py:存儲抽象對象

This answer對此表示支持。解決的辦法基本上是你給每個對象一個id,如果一個objectA包含objectB,你存儲在objectA中的就是objectB的id。如果沒有更好的,我想這似乎是合理的。

現在我的問題是,我該如何生成這些id?假設我的對象是包含其他名爲items的對象的用戶。每個獨特的項目我給一個唯一的ID。但是,當創建新項目時,如何確保我提供新項目的ID不存在,而無需檢查所有現有的ID?例如,假設我將redis命名空間中的所有現有項目作爲項目進行敘述:int,item:5313,item:1234等。我想創建一個新項目,如何以有效的方式檢查現有的id ?

謝謝。

回答

1

您可以使用自動增量ID計數器,就像這樣:

redis 127.0.0.1:6379> incr next_id:user 
(integer) 1 
redis 127.0.0.1:6379> incr next_id:user 
(integer) 2