Magento 2: Was ist der Unterschied zwischen Cache Clean und Cache Flush?

22

In Magento 2 haben wir 2 Befehle

php bin/magento cache:flush
php bin/magento cache:clean

Was ist der genaue Unterschied zwischen ihnen? Ich benutze im Allgemeinen cache:flush. Ich habe es nie benutzt cache:clean. Wann soll welcher Befehl in welcher Situation verwendet werden?

Ankit Shah
quelle

Antworten:

29

Um veraltete Elemente aus dem Cache zu löschen, können Sie Cachetypen bereinigen oder leeren :

  • Durch Bereinigen eines Cache-Typs werden nur alle Elemente aus den aktivierten Magento-Cache-Typen gelöscht. Mit anderen Worten, diese Option wirkt sich nicht auf andere Prozesse oder Anwendungen aus, da nur der von Magento verwendete Cache bereinigt wird.

    Deaktivierte Cache-Typen werden nicht bereinigt.

  • Durch das Leeren eines Cache-Typs wird der Cache-Speicher geleert, was sich möglicherweise auf andere Prozessanwendungen auswirkt, die denselben Speicher verwenden.

Leeren Sie die Cache-Typen, wenn Sie bereits versucht haben, den Cache zu leeren, und weiterhin Probleme vorliegen, die Sie nicht isolieren können.

Quelle: https://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cache.html#config-cli-subcommands-cache-clean

Suresh Chikani
quelle
1
Kann ich wissen, welche anderen Prozesse Anwendungen, die Magento-Cache-Speicher verwenden werden.
Jaya Chandra
Sie können die Leistung in Magento aktivieren, indem Sie Redis für den Backend-Cache konfigurieren, Memcached für das Caching von Sitzungen konfigurieren und Lack als Ganzseiten-Cache konfigurieren (dies wird in Magento 2 Cook Book von Ray Bogman ausführlich erläutert). Die anderen Anwendungen sind sinnvoll, wenn Sie einen einzelnen Redis-Server oder einen anderen Server haben, der mit mehr als einer Magento-Anwendung oder einer anderen Anwendung ausgeführt und konfiguriert wird. Wenn Sie "Flush" ausführen, werden alle Verzeichnis- + Dateien gelöscht, wenn Sie jedoch "Clean" ausführen, werden nur Dateien im Verzeichnis "\ Magento \ var \ cache" gelöscht.
Bala Varadarajan
11

PHP bin / Magento Cache: sauber

Durch Bereinigen eines Cache-Typs werden nur alle Elemente aus den aktivierten Magento-Cache-Typen gelöscht. Mit anderen Worten, diese Option wirkt sich nicht auf andere Prozesse oder Anwendungen aus, da nur der von Magento verwendete Cache bereinigt wird.

Deaktivierte Cache-Typen werden nicht bereinigt.

PHP bin / Magento Cache: Flush

Durch das Leeren eines Cache-Typs wird der Cache-Speicher geleert, was sich möglicherweise auf andere Prozessanwendungen auswirkt, die denselben Speicher verwenden.

Referenz: DevDocs Verwalten Sie den Cache

Rafael Corrêa Gomes
quelle
Danke @Rafael. Also welches ist am besten und wann zu verwenden?
Ankit Shah
Kommt drauf an, aber ich bevorzuge den Cache: klar
Rafael Corrêa Gomes
Ich habe versucht, eine leere Datei auf var / cache zu erstellen, und sie wurde von keinem dieser Befehle wie von Ihnen erwähnt gelöscht. Aber trotzdem danke.
Ricardo Martins
@ RicardoMartins es ist, weil Sie eine Datei wie var / cache / mage erstellen müssen - Test-Martines
Rafael Corrêa Gomes
Diese Antwort ist das Gegenteil der gewählten Antwort Wenn ich richtig bin
Patrick van Efferen
2

Zitat von Fabrizio Branca für diesen:

(...) Magento, das in erster Linie mit diesen beiden verschiedenen Aktionen geliefert wird (Sie finden auch zwei Schaltflächen auf der Cache-Verwaltungsseite).

While cache: clean löscht den Cache-Speicher nach Tags cache: flush löscht alles.

Hier gibt es zwei wesentliche Unterschiede:

  • Einige Dinge werden ohne die richtigen Tags im Cache gespeichert. cache: clean löscht diese nicht.
  • Andere Dinge könnten denselben Cache-Speicher verwenden (dies wird nicht empfohlen, aber leider ist dies manchmal der Fall). Wenn Sie den Cache leeren, wird alles gelöscht. Wenn also mehrere Magento-Instanzen denselben Cache-Speicher verwenden oder Sie Ihre Sitzungen in derselben Redis-Datenbank speichern, die Sie für den Cache verwenden (bitte nicht! :), sind sie auch nicht mehr vorhanden.
Ricardo Martins
quelle
1

PHP bin / Magento Cache: sauber

Durch Bereinigen eines Cache-Typs werden nur alle Elemente aus den aktivierten Magento-Cache-Typen gelöscht. Mit anderen Worten, diese Option wirkt sich nicht auf andere Prozesse oder Anwendungen aus, da nur der von Magento verwendete Cache bereinigt wird.

Deaktivierte Cache-Typen werden nicht bereinigt.

PHP bin / Magento Cache: Flush

Durch das Leeren eines Cache-Typs wird der Cache-Speicher geleert, was sich möglicherweise auf andere Prozessanwendungen auswirkt, die denselben Speicher verwenden.

Joselin Pavya Elezabeth
quelle
0

Mit können bin/magento cache:cleanSie (durch Kommas getrennte) Cache-Typen angeben, die Sie bereinigen möchten.

Unterstützte Typen:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice
yaronish
quelle
Sie können das auch mit Cache machen: Flush. Siehe devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Ricardo Martins
0

Beim cache:cleanLöschen des Cache-Speichers nach Tags cache:flushwird alles gelöscht.

Hier gibt es zwei wesentliche Unterschiede:

Einige Dinge werden ohne die richtigen Tags im Cache gespeichert. cache: clean löscht diese nicht. Andere Dinge könnten denselben Cache-Speicher verwenden (dies wird nicht empfohlen, aber leider ist dies manchmal der Fall). Wenn Sie den Cache leeren, wird alles gelöscht. Wenn also mehrere Magento-Instanzen denselben Cache-Speicher verwenden oder Sie Ihre Sitzungen in derselben Redis-Datenbank speichern, die Sie für den Cache verwenden (bitte nicht! :), sind sie auch nicht mehr vorhanden.

Quelle: https://github.com/netz98/n98-magerun/issues/588#issuecomment-112453280

Nikin
quelle