2012-03-20 5 views
3

Если обработчик сеанса основан на memcached, а сервер memcache перезапускается, хранятся ли данные или вся информация о сеансе должна быть воссоздана?Сохраняются ли данные memcache даже после перезапуска сервера?

Если нет, то memcached memcached даже надежный для хранения сессии? Или можно создать обработчик сеанса, который использует как MySQL, так и memcache? Как?

+0

См. Верхние ответы на http://stackoverflow.com/questions/1316852/alternative-to-memcached-that-can-persist-to-disk – jli

+0

У меня изначально собирался обработчик базы данных для сеансов, но я услышал, что memcached намного быстрее и менее ресурсоемкий. Однако, если просто перезагрузить сервер, он очистит все memcached данные, я думал об использовании двойного обработчика database/memcached. Однако, подумав об этом, это будет неразумно: данные меняют каждую перезагрузку каждой страницы. Кэширование просто не может работать для данных сеанса. База данных – alecwhardy

+0

- это единственный способ хранения данных сеанса, если вы хотите, чтобы 100% -ное безотказное средство никогда не очищало информацию о сеансе. memcache, только если информация о сеансе может быть легко воссоздана по запросу. – alecwhardy

ответ

5

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

4

сохранение данных в памяти, при перезагрузке сервера, вы потеряли все данные, сохраненные в кэше

Если вы просто перезапустить веб-сервер, данные еще в памяти

4

memcached - это система кэширования памяти, которая хранит данные и объекты в ОЗУ, поэтому, если вы перезапустите сервер, вы потеряете информацию. Попробуйте использовать Redis (http://redis.io/) для ваших нужд.