2015-08-05 4 views
0

Я работаю с флягой и redis. Я использую rom redis orm для управления небольшими сложными структурами данных. Я хочу использовать очередь объектов модели, с возможностью выталкивать или портировать объекты с любого конца.Реализация очереди с Python-Rom Redis ORM

У меня есть следующие модели: ПЗУ

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._columnsobj будучи один экземпляр класса A), что есть id поле. Моя первая мысль о том, как подойти к этому является по заказу id:

queue = A.get_by(id). 

Это позволит легко добавлять к задней части очереди, установив:

obj.id = len(queue)+1 

Но я не знаю, как для вставки в элемент 0 из списка, который требует перенумерации идентификаторов всего списка.

Я нахожусь на правильном пути здесь? Каков наилучший способ реализации очереди?

ответ

1

Я бы не реализовал очередь с ромом. Если бы мне нужна была очередь, и мне нужно было разместить объекты rom в этой очереди, я бы использовал исходное соединение Redis для размещения идентификаторов сущностей в списке Redis, который предлагает push и pop с обоих концов, сканирование диапазона и т. Д.

Вы можете получить необработанное соединение Redis в вашем примере через: A._connection.

+0

Благодарим за помощь – user61629

Смежные вопросы