我正在使用flask和redis。我使用rom redis orm来管理一些稍微复杂的数据结构。我想使用一个模型对象队列,能够从任何一端推出或弹出对象。
我有以下rom模型:
class A(rom.Model):
url = rom.String(required=True, unique=True)()
t = rom.String()
delete_at = rom.Float(index=True)
created_at = rom.Float(default=time.time, index=True)
当我运行obj._columns
(obj
是类A
的单个实例)时,我在命令行看到,有一个id
字段。我第一次想到如何解决这个问题的方法是按id
订购:
queue = A.get_by(id).
通过设置:
,可以轻松添加到队列的后面obj.id = len(queue)+1
但我不确定如何插入列表的0元素,这需要重新编号整个列表的ID。
我在这里走在正确的轨道上吗?实现队列的最佳方法是什么?
答案 0 :(得分:1)
我不会用rom实现队列。如果我需要一个队列,并且我需要将rom实体放入该队列中,我将使用原始Redis连接将实体ID放入Redis列表中 - 它提供两端的推送和弹出,范围扫描等。
您可以通过以下方式获取示例中的原始Redis连接:A._connection
。