Magento 2: Quelle est la différence entre Cache Clean et Cache Flush?

22

Dans Magento 2, nous avons 2 commandes

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

Quelle est la différence exacte entre eux? J'utilise généralement cache:flush. Je n'ai jamais utilisé cache:clean. Alors, quand utiliser quelle commande et dans quelle situation?

Ankit Shah
la source

Réponses:

29

Pour purger les éléments obsolètes du cache, vous pouvez nettoyer ou vider les types de cache:

  • Le nettoyage d'un type de cache supprime tous les éléments des types de cache Magento activés uniquement. En d'autres termes, cette option n'affecte pas les autres processus ou applications car elle nettoie uniquement le cache utilisé par Magento.

    Les types de cache désactivés ne sont pas nettoyés.

  • Le vidage d'un type de cache purge le stockage du cache, ce qui peut affecter d'autres applications de processus qui utilisent le même stockage.

Vider les types de cache si vous avez déjà essayé de nettoyer le cache et que vous rencontrez toujours des problèmes que vous ne pouvez pas isoler.

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

Suresh Chikani
la source
1
Puis-je savoir quelles sont les autres applications de processus qui utiliseront le stockage de cache Magento.
Jaya chandra
Vous pouvez activer les performances dans Magento en configurant Configuring Redis for backend cache, Configuring Memcached for session cacheing and Configuring Varnish as a Full Page Cache (Ceci est expliqué en détail dans Magento 2 Cook Book par Ray Bogman). Les autres applications dans le sens si vous avez un seul Redis ou tout autre serveur en cours d'exécution et configuré avec plus d'un Magento ou d'autres applications. L'exécution de Flush supprimera tous les répertoires + fichiers, mais l'exécution de clean supprimera les fichiers seuls dans le répertoire \ Magento \ var \ cache.
Bala Varadarajan
11

cache php bin / magento: nettoyer

Le nettoyage d'un type de cache supprime tous les éléments des types de cache Magento activés uniquement. En d'autres termes, cette option n'affecte pas les autres processus ou applications car elle nettoie uniquement le cache utilisé par Magento.

Les types de cache désactivés ne sont pas nettoyés.

cache php bin / magento: vidage

Le vidage d'un type de cache purge le stockage du cache, ce qui peut affecter d'autres applications de processus qui utilisent le même stockage.

Référence: DevDocs Gérer le cache

Rafael Corrêa Gomes
la source
Merci @Rafael. Alors, quel est le meilleur et quand l'utiliser?
Ankit Shah
Cela dépend, mais je préfère le cache: effacer
Rafael Corrêa Gomes
J'ai essayé de créer un fichier vide sur var / cache et il n'a été supprimé par aucune de ces commandes comme vous l'avez mentionné. Mais merci pour ça de toute façon.
Ricardo Martins
@RicardoMartins c'est parce que vous devez créer un fichier comme var / cache / mage - test-martines
Rafael Corrêa Gomes
Cette réponse est à l'opposé de la réponse choisie Si j'ai raison
Patrick van Efferen
2

Citant Fabrizio Branca pour celui-ci:

(...) Magento qui vient avec ces deux actions différentes en premier lieu (vous trouverez également deux boutons sur la page de gestion du cache).

Alors que cache: clean supprime le stockage du cache par les balises cache: flush effacera tout.

Il y a deux différences majeures ici:

  • certaines choses sont stockées dans le cache sans les balises appropriées. cache: clean ne les supprimera pas.
  • d'autres choses peuvent utiliser le même stockage de cache (ce n'est pas recommandé, mais malheureusement c'est parfois le cas). Vider le cache entraînera la suppression de tout. Donc, si plusieurs instances Magento utilisent le même stockage de cache ou si vous stockez vos sessions dans la même base de données Redis que vous utilisez pour le cache (veuillez ne pas le faire! :), elles disparaîtront également.
Ricardo Martins
la source
1

cache php bin / magento: nettoyer

Le nettoyage d'un type de cache supprime tous les éléments des types de cache Magento activés uniquement. En d'autres termes, cette option n'affecte pas les autres processus ou applications car elle nettoie uniquement le cache utilisé par Magento.

Les types de cache désactivés ne sont pas nettoyés.

cache php bin / magento: vidage

Le vidage d'un type de cache purge le stockage du cache, ce qui peut affecter d'autres applications de processus qui utilisent le même stockage.

Joselin Pavya Elezabeth
la source
0

À l'aide de, bin/magento cache:cleanvous pouvez spécifier les types de cache (séparés par des virgules) que vous souhaitez nettoyer.

Types pris en charge:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice
yaronish
la source
Vous pouvez le faire avec cache: flush également. Voir devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Ricardo Martins
0

La cache:cleansuppression du stockage du cache par les balises cache:flusheffacera tout.

Il y a deux différences majeures ici:

certaines choses sont stockées dans le cache sans les balises appropriées. cache: clean ne les supprimera pas. d'autres choses peuvent utiliser le même stockage de cache (ce n'est pas recommandé, mais malheureusement c'est parfois le cas). Vider le cache entraînera la suppression de tout. Donc, si plusieurs instances de Magento utilisent le même stockage de cache ou si vous stockez vos sessions dans la même base de données redis que vous utilisez pour le cache (veuillez ne pas le faire! :), elles disparaîtront également.

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

nikin
la source