Назад | Перейти на главную страницу

есть ли точка одновременного запуска APC ** и ** memcached

Кэшируют ли APC и Memcached одни и те же данные? Я понимаю, что APC кэширует как файлы, так и объекты / переменные, тогда как memcached работает только с объектами, но предлагает ли memcached что-нибудь, чего нет в APC?

Я видел установки, в которых используются оба, но это кажется пустой тратой ОЗУ, если я чего-то не упускаю?

TIA, JD

На одном сервере нет особого смысла кэшировать одни и те же данные в обоих местах. Это будет использовать вдвое больше оперативной памяти без каких-либо преимуществ. В этом случае, вероятно, проще всего использовать APC, потому что это на один процесс меньше, и на один интерфейс меньше для изучения.

Memcache становится более полезным, когда у вас есть целый кластер серверов. Memcache может запрашиваться несколькими серверами (а также несколькими процессами на одном сервере). Напротив, данные в кэше APC могут использоваться PHP только на его собственном сервере. Это делает Memcache более эффективным, поскольку вы можете кэшировать данные один раз и использовать их во всем кластере. Сам Memcache также может быть кластеризован, так что вы можете объединить ОЗУ с нескольких разных машин и использовать их все как один большой кеш.

Моя компания одновременно использует Memcache и APC. У нас есть дюжина серверов, на которых работает Memcache; эти серверы кэшируют сложные структуры данных, поэтому нам не нужно постоянно делать запросы к базе данных. Мы также используем APC для хранения небольшой части информации, которая используется все время, например, настроек конфигурации. Без APC мы завалили наши серверы Memcache тоннами запросов на простые данные, такие как «Приложение находится в режиме только для чтения?» Наши серверы Memcache могут справиться с этим, но, очевидно, более эффективно хранить эту информацию в локальной памяти.