Magento 2: Cache Clean ve Cache Flush arasındaki fark nedir?


22

Magento 2'de 2 komutumuz var

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

Aralarındaki kesin fark nedir? Genellikle kullanıyorum cache:flush. Hiç kullanmadım cache:clean. Peki, hangi komutu ne zaman ve hangi durumda kullanmalı?

Yanıtlar:


29

Eski öğeleri önbellekten temizlemek için önbellek türlerini temizleyebilir veya yıkayabilirsiniz :

  • Önbellek türünün temizlenmesi yalnızca etkin Magento önbellek türlerindeki tüm öğeleri siler. Başka bir deyişle, bu seçenek yalnızca Magento'nun kullandığı önbelleği temizlediği için diğer işlemleri veya uygulamaları etkilemez.

    Devre dışı bırakılmış önbellek türleri temizlenmez.

  • Önbellek türünün yıkanması, aynı depolamayı kullanan diğer işlem uygulamalarını etkileyebilecek önbellek deposunu temizler.

Önbelleği zaten temizlemeyi denediyseniz ve hala yalıtamayacağınız sorunlar yaşıyorsanız önbellek türlerini temizleyin.

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


1
Magento önbellek depolamasını kullanacak uygulamaların hangileri olduğunu öğrenebilir miyim?
Jaya chandra

Arka uç önbellek için Redis'i Yapılandırma, Oturum önbelleği için Memcached'ı Yapılandırma ve Verniği Tam Sayfa Önbellek Olarak Yapılandırma'yı yapılandırarak (Magento 2 Yemek Kitabı'nda Ray Bogman tarafından ayrıntılı olarak açıklanmaktadır) Magento'da performansı etkinleştirebilirsiniz. Birden fazla Magento veya başka bir uygulama ile çalışan ve yapılandırılan tek bir Redis veya başka bir sunucunuz varsa diğer uygulamalar. Flush'ın çalıştırılması tüm dizin + dosyalarını siler, ancak temiz çalıştırıldığında \ Magento \ var \ cache dir'deki dosyaları siler.
Bala Varadarajan

11

php bin / magento önbellek: temiz

Önbellek türünün temizlenmesi yalnızca etkin Magento önbellek türlerindeki tüm öğeleri siler. Başka bir deyişle, bu seçenek yalnızca Magento'nun kullandığı önbelleği temizlediği için diğer işlemleri veya uygulamaları etkilemez.

Devre dışı bırakılmış önbellek türleri temizlenmez.

php bin / magento önbellek: floş

Önbellek türünün yıkanması, aynı depolamayı kullanan diğer işlem uygulamalarını etkileyebilecek önbellek deposunu temizler.

Referans: DevDocs Önbelleği yönet


Teşekkürler @Rafael. Peki hangisi en iyi ve ne zaman kullanılır?
Ankit Shah

Bağlıdır, ancak önbelleği tercih ederim: açık
Rafael Corrêa Gomes

Var / cache üzerinde boş bir dosya oluşturmaya çalıştım ve bahsettiğiniz gibi bu komutlardan herhangi biri tarafından silinmedi. Ama yine de bunun için teşekkürler.
Ricardo Martins

Eğer var gibi bir dosya oluşturmak için gerektiğinden midir @RicardoMartins / cache / Mage - test martines
Rafael Corrêa Gomes

Bu cevap seçilen cevabın tam
tersiyse Doğruysam

2

Bunun için Fabrizio Branca'dan alıntı :

(...) İlk başta bu iki farklı eylemle birlikte gelen Magento (önbellek yönetimi sayfasında da iki düğme bulacaksınız).

Cache: clean önbellek depolamasını etiketlerle silerken cache: flush her şeyi siler.

Burada iki büyük fark var:

  • bazı şeyler uygun etiketler olmadan önbellekte saklanır. önbellek: temiz bunları silmez.
  • diğer şeyler aynı önbellek deposunu kullanıyor olabilir (bu önerilmez, ancak ne yazık ki bazen durum budur). Önbelleği yıkamak her şeyin silinmesine neden olur. Bu nedenle, birden fazla Magento örneği aynı önbellek deposunu kullanıyorsa veya oturumlarınızı önbellek için kullandığınız aynı Redis veritabanında depolarsanız (lütfen yapmayın! :)).

1

php bin / magento önbellek: temiz

Önbellek türünün temizlenmesi yalnızca etkin Magento önbellek türlerindeki tüm öğeleri siler. Başka bir deyişle, bu seçenek yalnızca Magento'nun kullandığı önbelleği temizlediği için diğer işlemleri veya uygulamaları etkilemez.

Devre dışı bırakılmış önbellek türleri temizlenmez.

php bin / magento önbellek: floş

Önbellek türünün yıkanması, aynı depolamayı kullanan diğer işlem uygulamalarını etkileyebilecek önbellek deposunu temizler.


0

Kullanarak bin/magento cache:cleantemizlemek istediğiniz (virgülle ayrılmış) önbellek türlerini belirleyebilirsiniz.

Desteklenen türler:

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

Bunu önbellek ile de yapabilirsiniz: flush. Bkz. Devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Ricardo Martins

0

İken cache:cleansiler etiketlere göre önbellek depolama cache:flushherşeyi silecek.

Burada iki büyük fark var:

bazı şeyler uygun etiketler olmadan önbellekte saklanır. önbellek: temiz bunları silmez. diğer şeyler aynı önbellek deposunu kullanıyor olabilir (bu önerilmez, ancak ne yazık ki bazen durum budur). Önbelleği yıkamak her şeyin silinmesine neden olur. Bu nedenle, birden fazla Magento örneği aynı önbellek deposunu kullanıyorsa veya oturumlarınızı önbellek için kullandığınız aynı redis veritabanında depolarsanız (lütfen yapmayın! :)).

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.