Django. Зарелизил встраиваемое приложение "django-multi-sessions"
Данное расширение предоставляет интерфейсы для работы с несколькими сессионными бекендами. В основном предназначено для переноса сессий с одного механизма на другой, при этом не останавливая работу с сессиями, это так называемый "прозрачный перенос".
Текущая версия: 0.0.3
Установить его можно так:
pip install django-multi-sessions
Или скачайте тарболл, распакуйте и выполните:
python setup.py install
Настройки
Надо в settings.py объявить "multi_sessions.session" как SESSION_ENGINE и заполнить SESSION_MULTISESSIONS_POOL, как в примере:
SESSION_ENGINE = "multi_sessions.session" SESSION_MULTISESSIONS_POOL = ( { "backend": "redis_sessions.session", "modes": ["read", "write", "delete"] }, { "backend": "django.contrib.sessions.backends.db", "modes": ["read", "delete"] }, )
В этом примере redis-backend используется как приоритетное хранилище (чтение, сохранение/создание, удаление) данных, а database-backend используется только для чтения и удаления сессий, так как мы с него переходим на redis, то не имеет смысла в него сохранять данные.
Исходники
Исходные коды можно получить на гитхабе!
Комментарии
Клёво. А часто приходится так переносить?
Нет конечно, но что-то мне подсказывает что ты меня троллишь :)
Можно посмотреть на примеры сайтов использующих django-multi-sessions на практике?
К сожелению, я не могу вам это сказать
Спасибо!
полезно кстати
Скажите а как мнеявно указать в какое место мне сохранить данные (допустим у меня все сессии имеют "modes": write
Укажите modes: write только тем кому надо явно сохранять данные. Сохраняются, насколько помню, по порядку следования бекендов в пуле.
Или я вас не понял? Опишите немного детальнее ваш вопрос
спасибо то, что надо
Оставьте свой комментарий