Magento2, welcher Befehl Ausführen und wann ausgeführt werden soll

8

Mit freundlicher klaren Unterschied zwischen php bin/magento cache:flush and cache:cleanund wenn sie müssen Run . Welche Aufgaben Ausgabe benötigt Cache: Flush oder Clean ** und welche Aufgabe benötigt diese Befehle => ** di: Kompilieren, Setup: Upgrade, Setup: Statischer Inhalt: Bereitstellen

Ich benötige 4 bis 5 Minuten, um den Cache auszuführen: Leeren, Aktualisieren und Bereitstellen.

HaFiz Umer
quelle
1
Sie finden die Markise in diesem Thread: magento.stackexchange.com/questions/138155/…
Stijn DR

Antworten:

6

Obwohl die Frage bereits beantwortet und akzeptiert wurde, dachte ich, es wäre schön, alle Punkte in einer einzigen Antwort zusammenzustellen, um das Verständnis zu verbessern und für andere Benutzer, die nach einem solchen Verständnis suchen:

Also werden wir Teil für Teil der Frage (n) gehen:

Frage Teil A:

Bitte deutlichen Unterschied zwischen PHP Bin / Magento Cache: Flush und Cache: Clean

Als @Shoib Answers zerstört Cache: Flush den Cache-Speicher und erstellt den Cache erneut, wobei Cache: Clean den Cache bereinigt und den Speicher nicht zerstört.

Frage Teil B:

Welche Aufgaben Ausgabe benötigt Cache: Flush oder Clean

wann Cache Clean?

Wenn Sie Änderungen an Vorlagen, Layouts oder Konfigurationen vornehmen und nur den Cache bereinigen, sollten Sie Cache vermeiden: Flush auf jeden Fall. 90% Ihres Frontends, Konfigurationsprobleme werden durch Cache gelöst: sauber.

TIPP: Während der Entwicklung des Frontend-Themas können Sie alle Caches aktivieren disable full_page cache. Dies spart Ihnen viel Zeit und in der Entwicklung müssen Sie nur den Befehl cache: clean ausführen.

Wann muss Flush zwischengespeichert werden?

Cache leeren nur und nur, wenn Ihre gewünschten Änderungen nach dem Befehl cache: clean nicht wie erwartet funktionierten.

Frage Teil C:

Welche Aufgabe benötigt diese Befehle? => ** di: kompilieren, einrichten: aktualisieren, einrichten: statischer Inhalt: bereitstellen

In Teil c Ihrer Frage haben Sie folgende Befehle erwähnt:

1 - **di:compile** , 2 - **setup:upgrade** , 3 - **setup:static-content:deploy**

Ordnen wir diese gemäß der Verwendung und Empfehlung von Befehlen neu an:

  • 1 - Setup: Upgrade

  • 2 - di: kompilieren

  • 3 - Setup: Statischer Inhalt: Bereitstellen

1 - Setup: Upgrade :

Wenn Sie ein neues Modul hinzufügen, sollten Sie diesen Befehl ausführen. Dieser Befehl fügt Ihren Moduleintrag in der Tabelle setup_module und auch in der Datei config.php hinzu . Wie es das Datenbankschema aktualisiert.

2 - setup: di: compile

Mit diesem Befehl werden Fabriken, Proxys, Interceptors usw. erstellt:

  • Generierung von Anwendungscode (Fabriken, Proxys usw.)
  • Bereichskonfigurationsaggregation (dh optimierte Abhängigkeitsinjektionskonfigurationen pro Bereich)
  • Interceptor-Generierung (dh optimierte Code-Generierung von Interceptors)
  • Interception-Cache-Generierung
  • Generierung von Repositorys-Code (dh generierter Code für APIs)
  • Generierung von Servicedatenattributen (dh generierte Erweiterungsklassen für Datenobjekte)

in kurzen Anlauf diesen Befehl , wenn Sie machen jede Änderung in Ihrem Modul - Klassen - Dateien, Konstruktor usw. und erzeugt den Inhalt der var/di folder in Magento <2.2und generated for Magento >= 2.2. Ausführliche Informationen finden Sie in den Magento Dev Docs

3 - Setup: Statischer Inhalt: Bereitstellen

Führen Sie diesen Befehl aus, wenn Sie WENIGER oder andere JS / statische Dateien in Ihrem Thema entwickeln / ändern. Statische Ansichtsdateien befinden sich im Verzeichnis / pub / static, und einige werden auch im Verzeichnis / var / view_preprocessed zwischengespeichert.

Weitere Informationen zu statischen Inhalten finden Sie in den Magento Dev Docs hier. Sie können auch lesen, in welchem ​​Modus Sie welchen Befehl ausführen sollten.

Hinweis :

Wenn Sie Änderungen an der Vorlage oder der Layoutdatei vornehmen, funktioniert der Befehl php bin / magento cache: clean für Sie. Sie müssen keinen statischen Inhalt bereitstellen.

Hoffe, dies wird helfen, den Mechanismus zu verstehen.

Naveed Asim
quelle
10

Durch Bereinigen eines Cache-Typs werden alle Elemente nur aus 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.

Durch das Leeren eines Cache-Typs wird der Cache-Speicher gelöscht, was sich auf andere Prozessanwendungen auswirken kann, die denselben Speicher verwenden.

Kurz gesagt: Bereinigen ist eine weiche Methode zum Bereinigen des Caches, während Flush das harte Leeren des Cache-Speichers ist.

Referenz: https://devdocs.magento.com/guides/v2.3/config-guide/cli/config-cli-subcommands-cache.html

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

Shoaib Munir
quelle
Welche Auswirkungen können sich auf andere Prozessanwendungen auswirken, die denselben Speicher verwenden ? Welcher andere Prozess?
HaFiz Umer
1
Wie bei Drittanbietern können Entwickler beliebige Daten in ein beliebiges Segment des Caches stellen. Sie können Ihren Cache-Speicher verwenden. Wenn Sie also bereinigen, hat dies keine Auswirkungen. Wenn Sie den Cache leeren, wird auch der Cache des Moduls eines Drittanbieters geleert. Dann wird dieses Modul den Cache im Cache-Speicher neu
generieren
ja sauber! Third-Pary-Module.
HaFiz Umer
Wenn Setup: Di: Compile Run, warum dann auch Cache: Flush und auch Upgrade
ausführen
@ HaFizUmer siehe Antwort, die Muhammad Ahmed gegeben hat, er beschrieb, wann andere Befehle ausgeführt werden sollten
Shoaib Munir
5
bin/magento setup:di:compile

Dieser Befehl wird verwendet, wenn Sie Änderungen an der di- Datei vornehmen oder ein neues Plugin oder eine neue Einstellung erstellen.

bin/magento setup:upgrade

Dieser Befehl wird verwendet, wenn Sie ein neues Modul erstellen und es in Ihrem Magento-Projekt verwenden möchten.

bin/magento indexer:indexer

Wenn Sie im Frontend eine Änderung vornehmen, müssen Sie diesen Befehl verwenden.

Muhammad Ahmed
quelle