Memcache Vs. Memcached

Возможный дубликат:
Использование Memcache vs Memcached с PHP

Кто-то может объяснить мне разницу между Memcache и Memcached в среде PHP? Каковы преимущества одного над другим? Можете ли вы также предложить критерии, используемые для выбора одного или другого?

Related of "Memcache Vs. Memcached"

(Частично украденный из ServerFault )

Я думаю, что оба функционально одинаковы, но у них просто разные авторы, и их просто называют более подходящими, чем другие.


Вот краткая ссылка в соглашениях об именах (для тех, кто незнакомец), что объясняет разочарование респондентом вопроса: для многих приложений * nix часть, выполняющая работу с базой данных, называется «демоном» (подумайте «сервис» в Windows- земля), а интерфейс или клиентское приложение – это то, что вы используете для управления или доступа к демонам. Демон чаще всего называют тем же, что и клиент, с прилагаемой к нему буквой «d». Например, «imap» будет клиентом, который подключается к демону «imapd».

Это соглашение об именах явно соблюдается memcache, когда вы читаете введение в модуль memcache (обратите внимание на различие между memcache и memcached в этом выдержке):

Модуль Memcache обеспечивает удобный процедурный и объектно-ориентированный интерфейс для memcached, высокоэффективного демона кэширования, который был специально разработан для снижения загрузки базы данных в динамических веб-приложениях.

Модуль Memcache также предоставляет обработчик сеанса (memcache).

Более подробную информацию о memcached можно найти на странице http://www.danga.com/memcached/ .

Расстройство здесь вызвано автором расширения PHP, которое было плохо названо memcached, поскольку оно имеет то же имя, что и фактический демон, называемый memcached. Также обратите внимание, что во введении к memcached (php-модуль) упоминается libmemcached, который является общей библиотекой (или API), которая используется модулем для доступа к демону memcached:

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

Это расширение использует библиотеку libmemcached для предоставления API для обмена данными с серверами memcached. Он также предоставляет обработчик сеанса (memcached).

Информацию о libmemcached можно найти по адресу http://tangent.org/552/libmemcached.html .

Они не идентичны. Memcache старше, но имеет некоторые ограничения. В моем приложении я отлично использовал, пока не понял, что вы не можете хранить буквальный FALSE в кеше. Значение FALSE возвращаемое из кеша, совпадает с возвратом FALSE, когда значение не найдено в кеше. Невозможно проверить, что именно. Memcached имеет дополнительный метод (среди прочих) Memcached::getResultCode , который скажет вам, был ли найден ключ.

Из-за этого ограничения я переключился на сохранение пустых массивов вместо FALSE в кеше. Я все еще использую Memcache, но я просто хотел разместить эту информацию для людей, которые решают.