Использование сеансов в Django

Я использую сеансы в Django для хранения информации о логине пользователя, а также другой информации. Я читал веб-сайт сеансов Django, но у меня остались вопросы.

С веб-сайта Django:

По умолчанию Django хранит сеансы в m с помощью сеансов в Django для хранения информации о логине пользователя, а также другой информации. Я читал веб-сайт сеанса Django, и у меня все еще есть несколько вопросов. Из Django ...

Я использую сеансы в Django для хранения информации о логине пользователя, а также другой информации. Я читал веб-сайт сеансов Django, но у меня остались вопросы.

С веб-сайта Django:

По умолчанию Django хранит сеансы в m с помощью сеансов в Django для хранения информации о логине пользователя, а также другой информации. Я читал веб-сайт сеанса Django, и у меня все еще есть несколько вопросов. Из Django ...

Я использую сеансы в Django для хранения информации о логине пользователя, а также другой информации. Я читал веб-сайт сеансов Django, но у меня остались вопросы.

С веб-сайта Django:

По умолчанию Django хранит сеансы в ваша база данных (используя модель django.contrib.sessions.models.Session ). Хотя это удобно, в некоторых настройки быстрее сохранить сеанс данные в другом месте, поэтому Django может быть настроен для хранения данных сеанса на в файловой системе или в кеше.

Также:

Для постоянных кэшированных данных установите SESSION_ENGINE на django.contrib.sessions.backends.cached_db . Это использует кеш со сквозной записью - каждая запись в кеш также будет записано в базу данных. Сессия читает использовать базу данных, только если данные еще не в кеше.

Есть ли хорошее практическое правило, какое из них использовать? cached_db кажется, что это всегда будет лучшим выбором, потому что в лучшем случае данные находятся в кеше, а в худшем - в базе данных, где они и были бы. Единственный недостаток - мне нужно настроить memcached.

По умолчанию SESSION_EXPIRE_AT_BROWSER_CLOSE установлен на Ложь , что означает файлы cookie сеанса будут храниться в браузерах пользователей для пока SESSION_COOKIE_AGE . Использовать это, если вы не хотите, чтобы у людей были для входа каждый раз, когда они открывают браузер.

Возможно ли, чтобы сеанс истекал при закрытии браузера и указывал возраст?

Если значение является целым числом, сеанс истечет через несколько секунд бездействие. Например, позвонив request.session.set_expiry (300) будет завершить сеанс через 5 минут.

Что считается «бездействием»?

Если вы используете серверную часть базы данных, обратите внимание, что данные сеанса могут накапливаются в django_session таблица базы данных, а Django не обеспечить автоматическую продувку. Следовательно, это ваша работа, чтобы очистить просроченный sessions on a regular basis.

So that means, even if the session is expired there are still records in my database. Where exactly would one put code to "purge the db"? I feel like you would need a seperate thread to just go through the db every once in awhile (Every hour?) and delete any expired sessions.

6
задан Leonard2 9 January 2017 в 03:11
поделиться