Настройки сессий
Существует несколько параметров, которые можно использовать для настройки сессий проекта. Самое главное-SESSION_ENGINE. Этот параметр позволяет задать место хранения сессий. По умолчанию Джанго хранит сессии в базе данных, используя модель Session приложения django.contrib.sessions.
Джанго предлагает следующие варианты хранения данных сессий:
- Database sessions: Данные сессии хранятся в базе данных. Это defaultsession engine.
- File-based sessions: Данные сессии хранятся в файловой системе.
- Cached sessions: Данные сессии хранятся в серверной части кэша. Можно указать конечные точки кэша с помощью параметра "CACHES". Хранение данных сессии в системе кэша обеспечивает наилучшую производительность.
- Cached database sessions: Данные сессии хранятся в кэше и базе данных. При чтении база данных используется только в том случае, если данные еще не находятся в кэше.
- Cookie-based sessions: Данные сеанса хранятся в файлах cookie, отправляемых в браузер.
Для повышения производительности используйте обработчик сессий на основе кэша. Джанго поддерживает Memcached, а также другие конечные точки кэша сторонних производителей для Redis и других систем кэша.
Можно настроить сессии с другими параметрами. Ниже приводятся некоторые важные параметры, относящиеся к сессиям:
- SESSION_COOKIE_AGE : Длительность сессии "cookie" в секундах. Значение по умолчанию — 1209600 (2 недели).
- SESSION_COOKIE_DOMAIN : Этот домен используется для сеансов "cookie". Установите это значение . mydomain.com для включения междоменных файлов cookie.
- SESSION_COOKIE_SECURE : Логическое значение, указывающее, что файл cookie должен быть отправлен только в том случае, если соединение является соединением HTTPS.
- SESSION_EXPIRE_AT_BROWSER_CLOSE : Это булево значение, указывающее, что сессия должна истечь при закрытии браузера.
- SESSION_SAVE_EVERY_REQUEST : Это логическое значение, которое, в случае True, сохранит сессию в базе данных по каждому запросу. Срок действия сессии также обновляется каждый раз.
Можно просмотреть все параметры сессий здесь: https://docs.djangoproject.com/en/1.8/ref/settings/\#sessions