PHP « Зачем хранить сессии в базе?
хочу поинтересоваться зачем хранить сессии в базе? какие проблемы это решает?
Если у меня VDS и украсть сессию не могут, т.к в одной папке не хранится куча сессий с разных сайтов, например, мне уже нет смысла переносить их в базу?
1 ответов
Если стоит такой вопрос. То однозначно не нужно.
Все новички( да и не только новички) как правило кидаются в разработку собственного механизма хранения сессий, мотивируя это разными причинами. Начиная от решения мифических "проблем и ошибок" с сессиями, заканчивая собственным самоутверждением.
Механизм сессий, реализованный в PHP быстр, надежен, удобен и подходит для 99.9% приложений, написаных на PHP. Если вам встретился в проекте кем-то переписанный механизм сессий, но вы не видите очевидной причины, зачем это было сделано, то причиной было лишь желание автора самоутвердиться. Ничего , кроме геморроя при поддержке проекта такие самописки не приносят.
Мне кажется, будет проще работать с сессией в бд чем с файлами, например, если нужно посмотреть кто сейчас в онлайне, то легко можно определить userId у кого есть сессия 1 запросом, а не перебором файлов
P.S. вообще с сессией познакомился и начал использовать с изучением Zend Framework и тут же начал сохранять их в бд
Да в принципе незачем.
Достаточно эффективно сессии хранить в кэше, например memcached.
И в принципе как показывает практика именно кэш лучший вариант по быстродействию.
Хранить сессии в БД - это первый вариант который приходит в голову при масштабировании приложения. Но как показывает практика лучше всего хранить в кеше.