У меня есть пользовательское веб-приложение, которое я собираю.Система создает объект пользователя при входе в систему, а затем сохраняет его в массиве сеансов.На каждой странице загрузки система проверяет данные сеанса по ключу сеанса, хранящемуся в базе данных, и проверяет, были ли изменены какие-либо данные, относящиеся к пользователю (флаг bool в таблице пользователя).Если данные были изменены, пользовательский объект воссоздается, в противном случае я использую тот, который хранится в сеансах.Это выглядит примерно так:
session_start();
if (isset($_SESSION['name']))
{
$flags = get_session_flags($_SESSION['session_key']);
if (!$flags['valid_session_key'])
{
logout();
redirect_to_home();
}
if ($flags['user_data_changed'])
{
$user = recreate_user_object();
}
else
{
$user = $_SESSION['user'];
}
}
Мои опасения связаны с производительностью сервера php / mysql.С какими возможными проблемами я могу столкнуться при хранении объекта пользователя между загрузками страниц?Должен ли я просто всегда получать свежие данные из БД?Это значительный объем информации, включая несколько объектов, основанных на действиях, которые хранятся внутри объекта пользователя.
Спасибо за помощь.