Ich versuche den Unterschied zwischen Memcached und APC zu verstehen und warum die Leute über die Verwendung des einen oder anderen oder beider sprechen. Ich kann nicht verstehen, warum Sie nicht beide verwenden würden, weil ich dachte, sie hätten völlig unterschiedliche Rollen. Hier ist mein Verständnis:
APC
Dadurch werden Teile des PHP-Codes zwischengespeichert und im RAM gespeichert. Wenn Sie dann denselben Code erneut ausführen müssen, ist er bereits zwischengespeichert und wird blitzschnell aus dem Speicher ausgeführt.
In meinem speziellen Fall, in dem PHP-FPM ausgeführt wird, würde dies die Belastung verringern.
Memcached
(Ich werde den Unterschied zwischen den beiden PHP-Modulen ignorieren und sie für diesen Zweck als dasselbe behandeln.)
Dadurch werden DB-Objekte zwischengespeichert und im RAM gespeichert. Wenn drupal dann dasselbe Datenbankobjekt aufrufen muss, befinden sich alle Informationen dort und es muss nicht in die Datenbank verschoben werden.
In meinem speziellen Fall, in dem MySQL ausgeführt wird, würde dies die Belastung verringern.
Drupal-Cache-Bins
In Drupal Stack Exchange gibt es eine Reihe von Fragen zu Caching und Cache-Bins, in denen APC & memcached erwähnt werden:
- In Wo ist der beste Ort für Cache-Bins ? Memcache wird aufgrund von Stabilitätsproblemen mit APC empfohlen.
- In Gibt es eine Verstärkung Memcached - Modul , wenn APC gut läuft ... , sagte , es ist die Wahl auf die persönlichen Vorlieben ankommt.
- Bei der Verwendung von Drupal 7 mit APC, Varnish und Memcache ... geht es darum, beide zu kombinieren.
Einige der wirklich informativen Fragen in diesem Bereich empfehlen daher, nur Memcached zu verwenden, und einige andere sagen, dass es keinen großen Unterschied gibt, beide einzuführen.
Aber ich verstehe nicht, wie das funktioniert. Zwischenspeichern sie nicht ganz andere Dinge?
Angenommen, ich habe eine Ansicht, die häufig verwendet wird. Wird die zwischengespeicherte DB-Objekte, die in der Ansicht angezeigt werden, nicht zwischengespeichert, und APC speichert den Modulcode zwischen, der sie aufruft?
Ist der Unterschied, dass Sie nur einen Cache für jeden Drupal-Cache-Bin verwenden können, können Sie entweder DB-Objekte oder PHP-Code zwischenspeichern und in der Praxis weisen die meisten Drupal-Cache-Bins entweder einen geringen Leistungsunterschied zwischen den beiden auf oder sind zu groß, um alle zwischenzuspeichern Ist das PHP-Zwischenspeichern von DB-Objekten die einzig sinnvolle Option?
(Und deshalb schlagen die meisten Leute Memcache als Standard-Cache-Bin-Option vor, dh $conf['cache_default_class'] = 'MemCacheDrupal';
)
Antworten:
APCu
teilt den Cache nicht mit anderen Servern, ist jedoch schneller.
Memcached
Kann mit anderen Servern geteilt werden und ist langsamer.
Wenn Sie zwei oder mehr Webserver (Apache / Nginx) für dieselbe Drupal-Site haben, möchten Sie Memcached. Wenn Sie auf einem einzelnen Computer ausgeführt werden, ist APCu am schnellsten. Sie möchten, dass OPcache aktiviert wird, egal was passiert .
LCache ist ein Modul zur Behebung von Problemen bei der Verwendung von APCu in einer Umgebung mit zwei oder mehr Webservern.
quelle
Um den Hauptunterschied zwischen APC und Memcache herauszufinden. So installieren Sie apc und memcache. Sie können diesen Beitrag verweisen. http://www.phpwala.com/php/difference-between-apc-and-memcache-php/2016/02
Wirklich hilfreich. Vielen Dank
quelle