Memcache Vs. Memcached [дубликат]


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

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

2 113

2 ответа:

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

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


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

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

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

модуль кэширования данных, также предоставляет обработчик сеанса (memcache).

дополнительная информация о memcached can можно найти по адресу " http://www.danga.com/memcached/.

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

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

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

информация о libmemcached может быть найдено по адресу " http://tangent.org/552/libmemcached.html.

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

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