Magento 2: ¿Cuál es la diferencia entre Cache Clean y Cache Flush?

22

En Magento 2 tenemos 2 comandos

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

¿Cuál es la diferencia exacta entre ellos? Generalmente estoy usando cache:flush. Yo nunca lo usé cache:clean. Entonces, ¿cuándo usar qué comando y en qué situación?

Ankit Shah
fuente

Respuestas:

29

Para purgar elementos obsoletos del caché, puede limpiar o vaciar los tipos de caché:

  • La limpieza de un tipo de caché elimina todos los elementos de los tipos de caché Magento habilitados únicamente. En otras palabras, esta opción no afecta a otros procesos o aplicaciones porque solo limpia el caché que utiliza Magento.

    Los tipos de caché deshabilitados no se limpian.

  • Vaciar un tipo de caché purga el almacenamiento en caché, lo que podría afectar a otras aplicaciones de procesos que utilizan el mismo almacenamiento.

Vacíe los tipos de caché si ya ha intentado limpiar el caché y todavía tiene problemas que no puede aislar.

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

Suresh Chikani
fuente
1
¿Puedo saber cuáles son las otras aplicaciones de procesos que utilizarán el almacenamiento en caché de Magento?
Jaya chandra
Puede habilitar el rendimiento en Magento configurando Configuración de Redis para caché de back-end, Configuración de Memcached para almacenamiento en caché de sesión y Configuración de Varnish como caché de página completa (Esto se explica en detalle en Magento 2 Cook Book por Ray Bogman). Las otras aplicaciones en sentido si tiene un solo Redis o cualquier otro servidor ejecutándose y configurado con más de un Magento o cualquier otra aplicación. La ejecución de Flush eliminará todos los archivos de directorio +, pero la ejecución de clean eliminará solo los archivos en \ Magento \ var \ cache dir.
Bala Varadarajan
11

php bin / magento cache: limpio

La limpieza de un tipo de caché elimina todos los elementos de los tipos de caché Magento habilitados únicamente. En otras palabras, esta opción no afecta a otros procesos o aplicaciones porque solo limpia el caché que utiliza Magento.

Los tipos de caché deshabilitados no se limpian.

php bin / magento cache: flush

Vaciar un tipo de caché purga el almacenamiento en caché, lo que podría afectar a otras aplicaciones de procesos que utilizan el mismo almacenamiento.

Referencia: DevDocs Manage the cache

Rafael Corrêa Gomes
fuente
Gracias @ Rafael. Entonces, ¿cuál es el mejor y cuándo usarlo?
Ankit Shah
Depende, pero prefiero caché: claro
Rafael Corrêa Gomes
Intenté crear un archivo vacío en var / cache y ninguno de estos comandos lo eliminó como mencionó. Pero gracias por eso de todos modos.
Ricardo Martins
@RicardoMartins es porque necesitas crear un archivo como var / cache / mage - test-martines
Rafael Corrêa Gomes
Esta respuesta es la opuesta a la respuesta elegida Si estoy en lo correcto
Patrick van Efferen
2

Citando a Fabrizio Branca para este:

(...) Magento que viene con esas dos acciones diferentes en primer lugar (también encontrará dos botones en la página de administración de caché).

Mientras cache: clean elimina el almacenamiento en caché mediante etiquetas cache: flush borrará todo.

Aquí hay dos diferencias principales:

  • Algunas cosas se almacenan en la memoria caché sin las etiquetas adecuadas. cache: clean no eliminará esos.
  • otras cosas podrían estar usando el mismo almacenamiento en caché (esto no se recomienda, pero lamentablemente a veces es el caso). Vaciar el caché dará como resultado que todo se elimine. Entonces, si varias instancias de Magento usan el mismo almacenamiento en caché o si almacena sus sesiones en la misma base de datos Redis que está usando para el caché (¡por favor no lo haga! :) entonces también se habrán ido.
Ricardo Martins
fuente
1

php bin / magento cache: limpio

La limpieza de un tipo de caché elimina todos los elementos de los tipos de caché Magento habilitados únicamente. En otras palabras, esta opción no afecta a otros procesos o aplicaciones porque solo limpia el caché que utiliza Magento.

Los tipos de caché deshabilitados no se limpian.

php bin / magento cache: flush

Vaciar un tipo de caché purga el almacenamiento en caché, lo que podría afectar a otras aplicaciones de procesos que utilizan el mismo almacenamiento.

Joselin Pavya Elezabeth
fuente
0

Utilizando bin/magento cache:cleanpuede especificar los tipos de caché (separados por comas) que desea limpiar.

Tipos admitidos:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice
yaronish
fuente
Puede hacerlo con caché: flush también. Ver devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Ricardo Martins
0

Si bien cache:cleanelimina el almacenamiento en caché por etiquetas cache:flush, eliminará todo.

Aquí hay dos diferencias principales:

Algunas cosas se almacenan en la memoria caché sin las etiquetas adecuadas. cache: clean no eliminará esos. otras cosas podrían estar usando el mismo almacenamiento en caché (esto no se recomienda, pero lamentablemente a veces es el caso). Vaciar el caché dará como resultado que todo se elimine. Entonces, si varias instancias de Magento usan el mismo almacenamiento en caché o si almacena sus sesiones en la misma base de datos redis que está usando para el caché (¡por favor no lo haga! :) entonces también se habrán ido.

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

nikin
fuente