Magento 2: Qual è la differenza tra Cache Clean e Cache Flush?


22

In Magento 2 abbiamo 2 comandi

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

Qual è la differenza esatta tra loro? In genere lo sto usando cache:flush. Non ho mai usato cache:clean. Quindi, quando usare quale comando e in quale situazione?

Risposte:


29

Per eliminare elementi non aggiornati dalla cache, è possibile pulire o svuotare i tipi di cache:

  • La pulizia di un tipo di cache elimina tutti gli elementi solo dai tipi di cache Magento abilitati. In altre parole, questa opzione non influisce su altri processi o applicazioni perché pulisce solo la cache utilizzata da Magento.

    I tipi di cache disabilitati non vengono puliti.

  • Lo svuotamento di un tipo di cache elimina la memoria cache, il che potrebbe influire su altri processi che le applicazioni utilizzano la stessa memoria.

Svuota i tipi di cache se hai già provato a pulire la cache e hai ancora problemi che non riesci a isolare.

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


1
Posso sapere quali sono gli altri processi che utilizzeranno la memoria cache Magento.
Jaya chandra,

È possibile abilitare le prestazioni in Magento configurando la configurazione di Redis per la cache back-end, la configurazione di Memcached per la memorizzazione nella cache delle sessioni e la configurazione di Varnish come cache a pagina intera (questo è spiegato in dettaglio in Cook Book di Magento 2 di Ray Bogman). Le altre applicazioni in senso se hai un singolo Redis o qualsiasi altro server in esecuzione e configurato con più di un Magento o altre applicazioni. L'esecuzione di Flush eliminerà tutti i file directory +, ma l'esecuzione clean eliminerà i file da soli nella directory \ Magento \ var \ cache.
Bala Varadarajan,

11

php bin / magento cache: pulito

La pulizia di un tipo di cache elimina tutti gli elementi solo dai tipi di cache Magento abilitati. In altre parole, questa opzione non influisce su altri processi o applicazioni perché pulisce solo la cache utilizzata da Magento.

I tipi di cache disabilitati non vengono puliti.

php bin / magento cache: flush

Lo svuotamento di un tipo di cache elimina la memoria cache, il che potrebbe influire su altri processi che le applicazioni utilizzano la stessa memoria.

Riferimento: DevDocs Gestire la cache


Grazie @Rafael. Quindi qual è il migliore e quando usarlo?
Ankit Shah,

Dipende, ma preferisco cache: clear
Rafael Corrêa Gomes,

Ho provato a creare un file vuoto su var / cache e non è stato eliminato da nessuno di questi comandi come hai detto. Ma grazie per quello comunque.
Ricardo Martins,

@RicardoMartins è perché è necessario creare un file come var / cache / mage - test-martines
Rafael Corrêa Gomes,

Questa risposta è l'opposto della risposta scelta. Se ho ragione
Patrick van Efferen il

2

Citando Fabrizio Branca per questo:

(...) Magento che viene fornito con queste due diverse azioni in primo luogo (troverai anche due pulsanti nella pagina di gestione della cache).

Mentre cache: clean cancella la memoria cache con tag cache: flush cancellerà tutto.

Ci sono due differenze principali qui:

  • alcune cose sono archiviate nella cache senza i tag appropriati. cache: clean non cancellerà quelli.
  • altre cose potrebbero usare la stessa memoria cache (questo non è raccomandato, ma purtroppo a volte è così). Lo svuotamento della cache comporterà l'eliminazione di tutto. Quindi, se più istanze di Magento usano la stessa memoria cache o se memorizzi le tue sessioni nello stesso database Redis che stai usando per la cache (per favore, non farlo! :), allora spariranno.

1

php bin / magento cache: pulito

La pulizia di un tipo di cache elimina tutti gli elementi solo dai tipi di cache Magento abilitati. In altre parole, questa opzione non influisce su altri processi o applicazioni perché pulisce solo la cache utilizzata da Magento.

I tipi di cache disabilitati non vengono puliti.

php bin / magento cache: flush

Lo svuotamento di un tipo di cache elimina la memoria cache, il che potrebbe influire su altri processi che le applicazioni utilizzano la stessa memoria.


0

Utilizzando bin/magento cache:cleanè possibile specificare i tipi di cache (separati da virgola) che si desidera pulire.

Tipi supportati:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice

Puoi farlo anche con cache: flush. Vedi devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Ricardo Martins,

0

Mentre cache:cleanelimina l'archiviazione della cache per tag cache:flusheliminerà tutto.

Ci sono due differenze principali qui:

alcune cose sono archiviate nella cache senza i tag appropriati. cache: clean non cancellerà quelli. altre cose potrebbero usare la stessa memoria cache (questo non è raccomandato, ma purtroppo a volte è così). Lo svuotamento della cache comporterà l'eliminazione di tutto. Quindi, se più istanze di Magento usano la stessa memoria cache o se memorizzi le tue sessioni nello stesso database redis che stai usando per la cache (per favore, non farlo! :), allora spariranno.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.