2011-12-29 1 views
4

Как сохранить список dicts в Redis против ключа с помощью Python-redis. Ниже структура данных, которые я стремлюсь на:Список диктов в Redis

'browsing_history' : { 
    'session_key_1' : [{'image': 'image-url', 'url' : 'url', 'title' : 'test_title', 'description' : 'test_description'}, {''image': 'image-url2', 'url' : 'url2', 'title' : 'test_title2', 'description' : 'test_description2'}], 
    'session_key_2' : [{'image': 'image-url', 'url' : 'url', 'title' : 'test_title', 'description' : 'test_description'}, {''image': 'image-url2', 'url' : 'url2', 'title' : 'test_title2', 'description' : 'test_description2'}], 
} 

хотел бы добавить в списки сессии, а также добавлять новые сессии, а также retrive их. Как я могу это сделать, используя Python-redis?

ответ

7

Сериализовать словарь {'image': 'image-url', 'url' : 'url', 'title' : 'test_title', 'description' : 'test_description'} с помощью pickle или json. Используйте список redis, чтобы сохранить их как строки. Используйте клавиши, такие как browsing_history:SESSION_KEY_1, для доступа к этим спискам. Если вам нужно получить список всех ключей сеанса, вам, вероятно, потребуется поддерживать набор строк для ключей browsing_history:*.

+0

Это интересно по номиналу, но я обеспокоен чтением и итерацией. Итерирование через этот список требует десериализации каждого элемента. В соответствии с этой методологией быстро добавляются. – Tommy

+0

При загрузке данных из любого источника в python объекты десериализационный шаг является обязательным все время. Большинство драйверов баз данных делают это для вас так часто, что это не видно. – Ski

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

  • Нет связанных вопросов^_^