Redis和redis-py:存储抽象对象

时间:2013-08-31 13:29:21

标签: python oop redis

在Python中,我有包含其他对象的对象。使用Redis表示此问题的最佳方法是什么?

This answer解决了这个问题。解决方案基本上是你给每个对象一个id,如果一个objectA包含objectB,你在objectA中存储的是objectB的id。如果没有更好的东西,我想这似乎是合理的。

现在我的问题是,如何生成这些ID?让我们说我的对象是包含称为项目的其他对象的用户。每个独特的项目我给出一个唯一的ID。但是当创建一个新项目时,如何确保我给新项目的ID已经不存在,而不必检查所有现有的ID?例如,假设我将redis命名空间中的所有现有项目都描述为item:int,item:5313,item:1234等。我想创建一个新项目,如何以有效的方式检查现有ID ?

感谢。

1 个答案:

答案 0 :(得分: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