Magento 2: Qual é a diferença entre Cache Clean e Cache Flush?

22

No Magento 2, temos 2 comandos

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

Qual é a diferença exata entre eles? Eu geralmente estou usando cache:flush. Eu nunca usei cache:clean. Então, quando usar qual comando e em qual situação?

Ankit Shah
fonte

Respostas:

29

Para limpar itens desatualizados do cache, você pode limpar ou liberar tipos de cache:

  • A limpeza de um tipo de cache exclui todos os itens dos tipos de cache Magento ativados. Em outras palavras, essa opção não afeta outros processos ou aplicativos porque limpa apenas o cache que o Magento usa.

    Tipos de cache desativados não são limpos.

  • A liberação de um tipo de cache limpa o armazenamento em cache, o que pode afetar outros aplicativos de processos que estão usando o mesmo armazenamento.

Liberar tipos de cache se você já tentou limpar o cache e ainda está tendo problemas que não podem ser isolados.

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

Suresh Chikani
fonte
1
Posso saber quais são os outros aplicativos de processos que usarão o armazenamento em cache do Magento.
Jaya chandra
Você pode ativar o desempenho no Magento configurando Configurando Redis para cache de back-end, Configurando o Memcached para cache de sessão e Configurando o Varnish como um cache de página inteira (Isso é explicado em detalhes no Magento 2 Cook Book por Ray Bogman). As outras aplicações, no sentido, se você tiver um único Redis ou qualquer outro servidor em execução e configurado com mais de um Magento ou qualquer outra aplicação. A execução do Flush excluirá todos os arquivos do diretório +, mas a execução limpa excluirá os arquivos sozinhos no diretório \ Magento \ var \ cache.
Bala Varadarajan
11

php bin / magento cache: limpo

A limpeza de um tipo de cache exclui todos os itens dos tipos de cache Magento ativados. Em outras palavras, essa opção não afeta outros processos ou aplicativos porque limpa apenas o cache que o Magento usa.

Tipos de cache desativados não são limpos.

php bin / cache magento: flush

A liberação de um tipo de cache limpa o armazenamento em cache, o que pode afetar outros aplicativos de processos que estão usando o mesmo armazenamento.

Referência: DevDocs Gerenciar o cache

Rafael Corrêa Gomes
fonte
Obrigado @Rafael. Então, qual é o melhor e quando usar?
Ankit Shah
Depende, mas eu prefiro cache: clear
Rafael Corrêa Gomes
Tentei criar um arquivo vazio em var / cache e ele não foi excluído por nenhum desses comandos, como você mencionou. Mas obrigado por isso de qualquer maneira.
Ricardo Martins
@RicardoMartins é porque você precisa criar um arquivo como var / cache / mage - test-martines
Rafael Corrêa Gomes
Esta resposta é o oposto da resposta escolhida Se eu estiver correto
Patrick van Efferen 14/01
2

Citando Fabrizio Branca para este:

(...) Magento que vem com essas duas ações diferentes em primeiro lugar (você também encontrará dois botões na página de gerenciamento de cache).

Enquanto cache: clean exclui o armazenamento em cache por tags cache: flush irá apagar tudo.

Existem duas grandes diferenças aqui:

  • algumas coisas são armazenadas no cache sem as tags apropriadas. cache: clean não os excluirá.
  • outras coisas podem estar usando o mesmo armazenamento em cache (isso não é recomendado, mas, às vezes, esse é o caso). A descarga do cache resultará na exclusão de tudo. Portanto, se várias instâncias do Magento usarem o mesmo armazenamento em cache ou se você armazenar suas sessões no mesmo banco de dados Redis que está usando para o cache (por favor, não! :), elas também desaparecerão.
Ricardo Martins
fonte
1

php bin / magento cache: limpo

A limpeza de um tipo de cache exclui todos os itens dos tipos de cache Magento ativados. Em outras palavras, essa opção não afeta outros processos ou aplicativos porque limpa apenas o cache que o Magento usa.

Tipos de cache desativados não são limpos.

php bin / cache magento: flush

A liberação de um tipo de cache limpa o armazenamento em cache, o que pode afetar outros aplicativos de processos que estão usando o mesmo armazenamento.

Joselin Pavya Elezabeth
fonte
0

Usando bin/magento cache:cleanvocê pode especificar os tipos de cache (separados por vírgula) que você deseja limpar.

Tipos suportados:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice
yaronish
fonte
Você pode fazer isso com o cache: flush também. Veja devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Ricardo Martins
0

Enquanto cache:cleanexclui o armazenamento em cache por tags cache:flush, tudo acabará.

Existem duas grandes diferenças aqui:

algumas coisas são armazenadas no cache sem as tags apropriadas. cache: clean não os excluirá. outras coisas podem estar usando o mesmo armazenamento em cache (isso não é recomendado, mas, às vezes, esse é o caso). A descarga do cache resultará na exclusão de tudo. Portanto, se várias instâncias do Magento usam o mesmo armazenamento em cache ou se você armazena suas sessões no mesmo banco de dados redis que você está usando para o cache (por favor, não! :), elas também desaparecerão.

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

nikin
fonte