Если это вызывается пользовательской клиентской программой (т. Е. Мобильными телефонами), а не браузером, зачем вообще «регистрировать их».Вместо этого просто используйте HTTP-аутентификацию (DIGEST или BASIC, если вы используете SSL, или свою собственную схему) и каждый раз «регистрируйте их».
Тогда вам не нужно беспокоиться о сессиях,о балансировке нагрузки, сбое и т. д. Держите его без сохранения состояния.
Дополнения:
Конечно, чем меньше обращений к БД, тем лучше, это всего лишь общее правило.Но в то же время многие обращения к БД обрабатываются кэшированными страницами на сервере БД или, возможно, кэшами приложений, так что они никогда не попадают на сервер БД.Таким образом, в некоторых случаях, особенно при запросах в одну строку к индексируемому столбцу, обращения к БД могут быть очень дешевыми.
Теперь можно подумать, если они оба хранятся и легко доступны, в чем разница между кешем?бит базы данных и уникальный сеанс пользователя.
Ну, в первую очередь, разница заключается в контракте с данными.Срок службы кэшированного элемента прямо пропорционален объему вашей памяти и количеству выполняемых операций без кэширования.Дайте ему немного памяти, и у кэшированного элемента, вероятно, очень короткий срок службы.Дайте ему много памяти, и у кэшированного предмета будет гораздо больше шансов повеситься.Если объем памяти для кэшированных данных достаточно велик, чтобы повторяющиеся действия с этими данными продолжали использовать кеш, кеш - это большой выигрыш.Если ваш кэш перерабатывается так быстро, что в кеше ничего нет, кеш почти не имеет значения.Но дело в том, что система будет работать с кешем или без него, кеш - это просто повышение производительности.
Сеанс, однако, имеет другой контракт.Многие сеансы имеют определенный минимальный срок службы, обычно измеряемый в минутах: 10, 20, даже 30 минут.
Это означает, что если пользователь зашел на ваш сайт только один раз, вы должны выделить ресурсы этому пользователю, даже если онникогда не вернется.Вы должны это сделать, в противном случае сеанс фактически не имеет значения.
Если вы получаете много трафика, вы получаете множество новых сеансов для управления.Теоретически, при плохих обстоятельствах сессии могут расти без ограничений.Если вы неожиданно получите 10000 посещений на своем сайте, вы сможете управлять остатками этих обращений в течение минимального срока службы вашего сеанса.Вы должны выделять им ресурсы (память или диск), вы должны отслеживать их, а затем, неизбежно, вы должны их очищать.
Кэш-память - это фиксированный ресурс.Он только увеличивается до размера, который вы настраиваете.Вы не обязаны хранить что-либо в кэше, и, как обсуждалось ранее, система будет работать с кэшем или без него.Тайники естественно перерабатывают.Если вы получите этот скачок в 10000 обращений, они, возможно, свернут ваш кеш, но после этого они не оставят следов в вашей системе.Они могут ударить и исчезнуть через 1 или 2 минуты, и их уже никогда не будет видно.
Наконец, во время сеансов вам нужно делить их между своей инфраструктурой, чтобы они перемещались с пользователем, если они переходят с компьютера на компьютер.машина (по какой-то причине).Кешей нет.В идеале вы хотите, чтобы пользователь оставался локальным для набора ресурсов, чтобы кэши могли выполнять свою работу, но система работает независимо от того, перемещаются они или остаются (она работает лучше, если они остаются, из-за повторного использования кэша).Если вы не копируете свои сеансы, они вообще не работают.
Хиты БД суммируются, они могут быть дешевыми, но никогда не бывают бесплатными.Но у сеанса тоже есть свои затраты, поэтому важно рассмотреть их оба и то, как они применяются в вашей архитектуре.