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';
)