Использование memcached / APC для хранения сессии? - PullRequest
4 голосов
/ 27 мая 2010

Когда-то назад у меня были мысли об использовании memcached для хранения сеансов, но я пришел к выводу, что этого будет недостаточно, если один или несколько серверов в пуле memcached собираются отключиться.

Гибридная версия, предназначенная для сохранения основной базы данных (mySQL) от нагрузки, вызванной чтениями, будет состоять в том, чтобы разработать функцию, которая пытается извлечь данные из пула кеша, а в случае неудачи получает их из базы данных.

После долгих размышлений я начал задумываться об использовании кэша APC для данных, связанных с сеансом. Если наш веб-сервер выйдет из строя, сеансы будут потеряны в любом случае, поэтому их хранение на локальном APC или локальном сервере memcached, может быть, не так уж и плохо?

Какой у тебя опыт?

1 Ответ

6 голосов
/ 27 мая 2010

Как правило, данные сеанса следует рассматривать как нестабильные в любой ситуации. Пользователь всегда может выбрать удаление куки в любой момент (если вы, конечно, используете куки). По этой причине я не вижу проблем с использованием memcached для данных сеанса.

Что касается меня, я бы сказал, что все просто: нет необходимости в резервировании БД, если вы абсолютно не должны терять сеанс пользователя в случае сбоя сервера memcached. Как я уже говорил в начале, я всегда отношусь к сессиям как к исключительно изменчивым в любом случае и на самом деле не храню в них ничего важного.

В любом случае, это мои два цента.

...