Есть несколько причин, почему я иногда храню данные сеанса в БД. Вот самые большие два:
- Проблемы безопасности на общем сервере Если вы работаете на общем сервере, есть вероятность, что другим пользователям сервера будет легко проникнуть во временный каталог и получить доступ к данные сеанса вы сохранили там. Это не слишком обычно, но может случиться.
- Использование нескольких серверов Если вы масштабируете и используете более одного сервера, лучше всего сохранять данные сеанса в базе данных. Таким образом, данные легко доступны по всему вашему стеку серверов (или ферме в зависимости от того, насколько большой вы собираетесь). Этого также можно добиться с помощью плоской файловой системы, но использование базы данных обычно является более элегантным и простым решением.
Единственное, о чем я могу подумать, если не использует базу данных, это просто количество запросов, которые вы будете выполнять. Для каждой загрузки страницы у вас будет дополнительный запрос для сбора данных сеанса. Тем не менее, один маленький дополнительный запрос не должен иметь такой большой разницы. Два пункта, которые я изложил выше, перевешивают эту небольшую стоимость.
Надеюсь, это немного помогло.