132 votes

Memcache vs. Memcache

Duplicata possible :
Utilisation de Memcache et Memcached avec PHP

Quelqu'un peut m'expliquer la différence entre Memcache et Memcached en environnement PHP ? Quels sont les avantages de l'un par rapport à l'autre ? Pouvez-vous également me suggérer les critères utilisés pour choisir l'un ou l'autre ?

136voto

Mike Starov Points 1254

Ils ne sont pas identiques. Memcache est plus ancien mais il a quelques limitations. Je l'utilisais très bien dans mon application jusqu'à ce que je me rende compte que l'on ne peut pas stocker des données littérales. FALSE dans le cache. Valeur FALSE renvoyée par le cache est identique au FALSE renvoyé lorsqu'une valeur n'est pas trouvée dans le cache. Il n'y a aucun moyen de vérifier lequel est lequel. Memcached dispose d'une méthode supplémentaire (parmi d'autres) Memcached::getResultCode qui vous dira si la clé a été trouvée.

En raison de cette limitation, j'ai opté pour le stockage de tableaux vides au lieu de FALSE en cachette. J'utilise toujours Memcache, mais je voulais juste mettre cette information à la disposition des personnes qui doivent prendre une décision.

112voto

Mez Points 9744

(En partieVolé ServerFault)

Voici un bref document d'information dans les conventions de nommage (pour ceux qui connaissent), ce qui explique la frustration par la question asker: Pour beaucoup de *nix applications, la pièce qui ne le back-end est appelé un "démon" (penser "service" dans Windows-terre), alors que l'interface ou le client de l'application que vous utilisez pour le contrôle d'accès ou le démon. Le démon est le plus souvent le même nom que le client, avec la lettre "d" ajouté à la fin. Par exemple "imap" serait un client qui se connecte à la "imapd" démon.

Cette convention de nommage est clairement respectés par memcache lorsque vous lisez l'introduction de la memcache module (remarquez la distinction entre memcache et memcached dans cet extrait):

Memcache module fournit à portée de main procédurale et orientée objet interface de memcached, très efficace démon de cache, qui a été spécialement conçu pour diminuer charge de base de données dans le web dynamiques des applications.

Le Memcache module fournit également une gestionnaire de session (memcache).

Plus d'informations sur memcached peut être trouvés à la » http://www.danga.com/memcached/.

La frustration est causé ici par l'auteur de l'extension PHP qui a été mal nommée memcached, car il partage le même nom que le démon appelé memcached. Notez également que, dans l'introduction à memcache (le module php), il fait mention de libmemcached, qui est la bibliothèque partagée (ou API) qui est utilisé par le module pour accéder à la memcached démon:

memcached est une haute performance, distribué objet de mémoire cache système, de nature générique, mais prévu pour une utilisation dans l'accélération de la applications web dynamiques en soulager la charge de base de données.

Cette extension utilise libmemcached bibliothèque pour fournir une API pour communiquer avec les serveurs memcached. Il propose également un gestionnaire de session (memcached).

Informations sur libmemcached peut être » http://tangent.org/552/libmemcached.html.

En résumé, les deux sont fonctionnellement le même, mais ils n'ont tout simplement différents auteurs, et l'on est tout simplement nommé de façon plus appropriée que l'autre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X