2010-05-03 5 views
5

Я разработал веб-приложение, которое использует веб-сервер и базу данных, размещенную на веб-узле (на земле), и сервер, работающий на Amazon Web Services EC2. Оба сервера могут использоваться пользователем во время сеанса, и оба должны знать информацию о сеансе пользователя. Я не хочу получать информацию, необходимую для обоих серверов, потому что я не хочу, чтобы она была видимой для браузеров/Firebug и т. Д. Поэтому мне нужно, чтобы мои данные сеанса сохранялись на разных серверах. И я думаю, что это означает, что лучший вариант - хранить все/некоторые данные, которые мне нужны в базе данных, а не в сеансе. Проще всего сделать, чтобы сохранить сеансы, но POST session_id между серверами, и использовать это как ключ для поиска данных, которые мне нужны, из таблицы user_session_data в базе данных.Каковы наилучшие методы хранения данных сеанса PHP в базе данных?

Я посмотрел статью Тони Марстона «Saving PHP Session Data to a database» - должен ли я использовать эту таблицу или таблицы с данными сеанса, которые мне нужны, и session_id в качестве ключа достаточно? Что было бы недостатком в создании моей собственной таблицы и наборе методов для хранения данных, которые мне нужны в базе данных?

ответ

2

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

-

Хранение данных сессий в базе данных является довольно распространенной практикой. «Хранение данных в сеансе» не подразумевает какого-либо реального метода хранения. Создание файлов на диске - это просто настройка по умолчанию PHP, так как она не требует какой-либо настройки.

Смежные вопросы