Volk
Авг. 9, 2012 17:32:04
Мне нужно чтобы был expire и максимальное количество ключей можна было задать. Также я кеширую результат метода класса, смотрела beaker, python_toolbox, но не нашла в них того что нужно. Кешировать буду структуру с вложенными списками. Ыы если например в мемкеш оно пиклится, то как лучше в редисе через json.dumps?
Zerstoren
Авг. 9, 2012 17:44:50
думаю, что тоже можно запиклить. Хотя еще не тестировал, не приходилось хранить сложные структуры в редисе под Python. Но т.к. результат работы pickle.dumps строка, то проблем с хранением быть не должно.
Можете модифицировать код Redis интерфейса, чтоб не париться с написанием своего интерфейса или обертки над ним.
fata1ex
Авг. 9, 2012 19:38:11
Вставала проблема кэширования сложных объектов с помощью редиса. Можно использовать json с кастомными encoder'ами, можно попробовать что-нибудь вроде -
http://jsonpickle.github.com/Выяснилось, что использовал всё-таки pickle :)
Недоделанный вариант.
Zerstoren
Авг. 10, 2012 09:53:33
Я ставил модуль Redisа из репозиториев Убунты, он работает быстрее, т.к. использует С++ для обмена сообщениями с сокет сервером redis, в общем работает быстрее.
По коду, там нету пикла, но произвести модификацию труда не составит. Можно конечно воспользоваться наследованием, чтоб создать свою оболочку, не нарушая работы внутренних модулей.