Плюсы и минусы использования memcached для сеансов PHP

Вопрос:Помимо недостатка при перезапуске memcached все сеансы теряются и пользователи выходят из системы, каковы другие недостатки использования memcached для хранения данных сеансов PHP вместо файлов. Любые проблемы безопасности? Улучшена ли производительность с помощью memcached вместо стандартных файлов на диске? Ответ №1Хотя многим удалось оптимизировать производительность базы данных с помощью Memcached, это может быть не лучшее

Вопрос:

Помимо недостатка при перезапуске memcached все сеансы теряются и пользователи выходят из системы, каковы другие недостатки использования memcached для хранения данных сеансов PHP вместо файлов. Любые проблемы безопасности? Улучшена ли производительность с помощью memcached вместо стандартных файлов на диске?

Ответ №1

Хотя многим удалось оптимизировать производительность базы данных с помощью Memcached, это может быть не лучшее решение для каждой ситуации.

Некоторые из недостатков Memcached:

  • Требование к размеру
  • Поддержка документации не поддерживается
  • Волатильность (если произошел сбой экземпляра сервера Memcached, все данные объекта, хранящиеся в сеансе, исчезли)
  • Безопасность (аутентификация не встроена в Memcached).

Но все же Memcached – хороший выбор во многих приложениях по следующим причинам:

  • Memcached может компенсировать недостаточные свойства ACID и никогда не блокирует.
  • Memcached – это кросс-платформенный
  • Кросс-СУБД
  • Его дешевый

Давайте посмотрим на более яркую сторону!

Ответ №2

Не проблема безопасности, связанная с использованием memcached для сеансов, а скорее то, что я часто прихожу: вы абсолютно должны убедиться, что ваши экземпляры memcached либо используют сокеты unix, либо – если они связаны с частью – их порт заблокирован. В противном случае люди могут просто подключаться к сети и просматривать, изменять и удалять (сеансовые) данные.

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

Оцените статью
Добавить комментарий