У меня есть социальный сайт в разработке PHP codeignitor и MySQL. Я храню пользовательские сессии в базе данных для обработки многосерверной среды. В настоящее время существует только 1 база данных.
1) Для обработки нескольких баз данных (+ мультисервер), как и где будет храниться сеанс пользователя? Я предполагаю, что база данных не будет работать в среде с несколькими базами данных.
2) Идентификатор сеанса, предоставляемый пользователю, является ли он автоматическим приращением из базы данных или генерируется из логики приложения? Я полагаю, это должен быть GUID?
3) Наряду с идентификатором сеанса у меня есть таблица user_session, в которую заносятся все детали, относящиеся к сеансу, такие как login_datetime, logout_Datatime, если пользователь был в сети / на мобильном телефоне и т. Д. Таким образом, эта таблица должна быть записана в 2 этапа: когда пользователь входит в систему и снова, когда пользователь выходит из системы. Вопрос в том, когда пользователь выходит из системы, по какой логике система должна следовать, чтобы написать дату? Например, как система узнает, в какую user_session записывать данные, поскольку этот идентификатор PK является значением автоинкремента, управляемого базой данных, и создается после создания основного идентификатора сеанса. Поэтому в конце необходимо запросить таблицу user_session, чтобы найти идентификатор user_Session, а затем написать.