PECL - / - und PECL-Memcache/Memcached
Ich habe beide PECLs installiert, meine PHP-setup, und wenn ich php -V
ich sehen kann, beide laufen. In meinem /etc/php5/conf.d/
Ordner diese beiden PECLs aktiviert sind. Wenn ich kontrolliert phpinfo
, dann kam ich zu wissen PECL/Memcache
verwendet hatte, die zugewiesene port-Nummer 11211
. Beide PECLs haben Ihre eigene config in .ini
Dateien, aber nur eine wird verwendet. Ich weiß, wir können nicht beide gleichzeitig, aber ich möchte, um zu prüfen PECLs ein zu einer Zeit. Meine Frage ist, wie um zu testen, diese PECLs löschen, ohne jemand, nur durch die Einstellungen zu ändern. Ich will testen, Memcache, und es deaktivieren und testen, Memcached, bevor Sie entscheiden, was zu verwenden. Gibt es eine Möglichkeit, ich kann es erreichen, ohne diese zu löschen ?
Derzeit bin ich mit PhpMemcachedAdmin zu überprüfen, Memcached, seine noch in der beta und buggy. Wenn jemand könnte mir empfehlen einige andere bessere tools dann wäre Es wirklich hilfreich.
- Was ist das Ziel Ihrer Untersuchung? Sie sollten wahrscheinlich nur verwenden Sie Memcached, wie es mit der neuen ära, die offizielle Bibliothek. Die alten Memcache extension verwendet eine ältere generation von Bibliothek und stellt weniger Funktionen. Beide sind immer noch aktiv gepflegt.
- Mein Ziel ist es, mit zuverlässiger und schneller caching-Lösung. Ich weiß, memcached verwendet
libmemcached
Bibliothek, aber Hier steht, es Lecks verbindungen während der Verwendung persistenter verbindungen. Also, ich war auf der Suche zu testen, bevor Sie entscheiden, welche zu benutzen. Memcached haben definitiv den VorteilCAS
, aber seine schwer zu entscheiden, welche zu verwenden, ohne zu testen. - Halten Sie daran, dass die blog-post verlinkt wurde gemacht vor zwei Jahren, so haben Sie wahrscheinlich das problem behoben, indem jetzt. Hoffentlich...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie haben beide Erweiterungen gleichzeitig aktiv sind. Beide
PECL Memcache
undPECL Memcached
sind PHP Kunden Verbindung zu einem Memcached server.Über die vor-und Nachteile
Wie gesagt, Memcached aufbauen libmemcached gehalten wird, indem der die memcached-server-team. Die Leute sagen, es ist besser, aber ich konnte dies nicht überprüfen, auch an diesem Tag.
PECL-memcache hat immer noch die bessere PHP-session-Unterstützung.
Fand ich (ein bisschen älter, aber größtenteils noch immer gültig) Vergleichstabelle hier
BEARBEITEN
PHP ist mit einer der Erweiterungen, um die Verbindung zum Memcached-server.
Hier sind einige Beispiele
PECL-Memcached-Beispiel zur Verwendung in PHP
PECL-Memcached-Klasse Referenz
PECL-Memcache Beispiel in PHP
PECL-Memcache-Klasse Referenz
Diese können in das gleiche PHP-Skript!
Können Sie auch Objekte speichern in memcached, Lesen Sie in diesem Artikel über Objekt-Serialisierung und die Magie-Klasse Methoden
__sleep
und__wakeup()
in PHPWie Sie leicht sehen können, die grundlegende Verwendung der clients, PECL-Memcached und Memcache ist ziemlich identisch.
Memcached server
zu verwendenpecl Memcache
einmalpecl Memcached
einer anderen Zeit. Ich denkeMemcached
nichtboth pecls
gleichzeitig.Es gab keinen bestimmten Weg, dies zu tun. Ich musste den symlink löschen einer Konfiguration für andere verwenden. Anstatt zu löschen die ganze
.ini
Datei nur löschen symlink klingt realisierbar, wie das löschen der symlinks diepecl
inaktiv.extension=memcache.so
Teil? Bitte beenden Sie die Buchung falsch und undokumentierte Dinge. Das ist nicht der richtige Weg, das zu deaktivieren einer Erweiterung. Das ist, warum Sie haben verschiedenen Dateien in php.d-Verzeichnis, so können Sie aktivieren/deaktivieren Sie die Erweiterung, wie Sie möchten. Und neben, dass, memcache und memcached Erweiterungen arbeiten perfekt zusammen.Muss ich verpasst haben den Teil mit "nicht sowohl zur gleichen Zeit". Wer hat Sie auf diese Idee? Sie sind zwei separate Erweiterungen, mit separaten Funktionen/Objekte.
Überspringen der oben memcached ist viel besser zu bedienen ist, da es implementiert eine Menge mehr Funktionen als die memcache-Erweiterung (cas ist einer von Ihnen, die ich kürzlich verwendet haben, und in den Sinn kommt).
Zweite Sache: persistente verbindungen? Warum würden Sie das tun? Memcache unterstützen können eine Menge von verbindungen, es ist gebaut worden. Es gibt keine Notwendigkeit für persistente verbindungen. Wir haben über 2k Zugriffe auf gleiche memcached-server, ohne ein problem in einer Produktions-app.
PS: "Wenn ich phpinfo überprüft, dann kam ich zu wissen, PECL/Memcache verwendet hatte, die zugewiesene port-Nummer 11211" ist falsch. Es ist kein port, verbunden mit einer Erweiterung. Eine php-Erweiterung ist nicht ein daemon/service an sich (obwohl Sie definitiv bauen in php). Es ist tatsächlich wahrscheinlicher, dass 11211 ist der Standard-port für einen memcache-server und nicht auf einen tatsächlichen Anschluss.
pecls
aktiviert zur gleichen Zeit, aberMemcached daemon
würde zugewiesen werden, um die Verwendung von nur einem. So, meine Frage war, wie man pecl einmal und ändern Sie die anderen nach Sie zu testen. Und Sie nahm meinephpinfo
völlig aus der Gleichung, oder habe ich vielleicht nicht klar sein, dass ein Teil. Ich kann sehen, dass beide pecls aktiviertphpinfo
und diememcache pecl
hat die extra-Informationen-Attribut aus port-Nummer desMemcached daemon
. Ich hoffe ich bin jetzt klar.