Хранение данных сеанса в базе данных в Pyramid с использованием мензурки
Я создаю веб-приложение в Pyramid, и оно требует входа пользователя. База данных является базой данных MySQL, подключенной через SQLAalchemy.
В Pyramid есть введение в использование мензурки для сессий, но она показывает только то, как ее настроить с помощью файлов. Я не мог выяснить, как сохранить данные сеанса в базе данных (я думаю, что это должно быть возможно), поскольку с тех пор у меня было бы только одно место, где бы хранились мои переменные данные.
1 ответ
Я нашел это. Поместите что-то вроде этого в свой конфигурационный файл (development.ini/production.ini)
session.type=ext:database
session.secret=someThingReallyReallySecret
session.cookie_expires=true
session.key=WhatEver
session.url=mysql://user:password@host/database
session.timeout=3000
session.lock_dir=%(here)s/var/lock
Я не знаю, возможно ли (или разумно) поставить блокировку на БД, но сессии должны жить в БД, как это. Вам нужно будет позаботиться об удалении старых сеансов из БД самостоятельно (но я думаю, что это также относится и к файлам).