Magento 2: Apa perbedaan antara Cache Clean & Cache Flush?

22

Di Magento 2 kami memiliki 2 perintah

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

Apa perbedaan tepatnya di antara mereka? Saya biasanya menggunakan cache:flush. Saya tidak pernah menggunakan cache:clean. Jadi, kapan harus menggunakan perintah mana & dalam situasi apa?

Ankit Shah
sumber

Jawaban:

29

Untuk membersihkan item yang kedaluwarsa dari cache, Anda dapat membersihkan atau membersihkan jenis cache:

  • Membersihkan jenis cache menghapus semua item dari hanya tipe cache Magento yang diaktifkan. Dengan kata lain, opsi ini tidak memengaruhi proses atau aplikasi lain karena hanya membersihkan cache yang digunakan Magento.

    Jenis cache yang dinonaktifkan tidak dibersihkan.

  • Pembilasan jenis cache membersihkan penyimpanan cache, yang mungkin memengaruhi aplikasi proses lainnya yang menggunakan penyimpanan yang sama.

Siram jenis cache jika Anda sudah mencoba membersihkan cache dan Anda masih mengalami masalah yang tidak dapat Anda isolasi.

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

Suresh Chikani
sumber
1
Bisakah saya tahu aplikasi proses mana yang akan menggunakan penyimpanan cache Magento.
Jaya chandra
Anda dapat mengaktifkan kinerja di Magento dengan mengkonfigurasi Configuring Redis untuk cache backend, Mengkonfigurasi Memcached untuk caching sesi dan Mengkonfigurasi Varnish sebagai Cache Halaman Penuh (Ini dijelaskan secara rinci dalam Magento 2 Cook Book oleh Ray Bogman). Aplikasi lain masuk akal jika Anda memiliki Redis tunggal atau server lain yang berjalan dan dikonfigurasi dengan lebih dari satu Magento atau aplikasi lain. Menjalankan Flush akan menghapus semua file direktori + tetapi menjalankan bersih akan menghapus file sendirian di \ Magento \ var \ cache dir.
Bala Varadarajan
11

cache bin / magento php: clean

Membersihkan jenis cache menghapus semua item dari hanya tipe cache Magento yang diaktifkan. Dengan kata lain, opsi ini tidak memengaruhi proses atau aplikasi lain karena hanya membersihkan cache yang digunakan Magento.

Jenis cache yang dinonaktifkan tidak dibersihkan.

cache bin / magento php: flush

Pembilasan jenis cache membersihkan penyimpanan cache, yang mungkin memengaruhi aplikasi proses lainnya yang menggunakan penyimpanan yang sama.

Referensi: DevDocs Mengelola cache

Rafael Corrêa Gomes
sumber
Terima kasih @ Rafael. Jadi mana yang terbaik & kapan harus digunakan?
Ankit Shah
Tergantung, tapi saya lebih suka cache: clear
Rafael Corrêa Gomes
Saya sudah mencoba membuat file kosong di var / cache dan itu tidak dihapus oleh salah satu perintah ini seperti yang Anda sebutkan. Tapi terima kasih untuk itu.
Ricardo Martins
@ RicardoMartins itu karena Anda perlu membuat file seperti var / cache / mage - test-martines
Rafael Corrêa Gomes
Jawaban ini adalah kebalikan dari jawaban yang dipilih Jika saya benar
Patrick van Efferen
2

Mengutip Fabrizio Branca untuk yang ini:

(...) Magento yang datang dengan dua tindakan berbeda di tempat pertama (Anda juga akan menemukan dua tombol di halaman manajemen cache).

Sedangkan cache: clean menghapus penyimpanan cache dengan tag cache: flush akan menghapus semuanya.

Ada dua perbedaan utama di sini:

  • beberapa hal disimpan ke dalam cache tanpa tag yang tepat. cache: clean tidak akan menghapusnya.
  • hal-hal lain mungkin menggunakan penyimpanan cache yang sama (ini tidak disarankan, tetapi sayangnya terkadang demikian). Membilas cache akan menghasilkan semua yang terhapus. Jadi jika beberapa instance Magento menggunakan penyimpanan cache yang sama atau jika Anda menyimpan sesi Anda di database Redis yang sama dengan yang Anda gunakan untuk cache (tolong jangan! :) maka semuanya juga akan hilang.
Ricardo Martins
sumber
1

cache bin / magento php: clean

Membersihkan jenis cache menghapus semua item dari hanya tipe cache Magento yang diaktifkan. Dengan kata lain, opsi ini tidak memengaruhi proses atau aplikasi lain karena hanya membersihkan cache yang digunakan Magento.

Jenis cache yang dinonaktifkan tidak dibersihkan.

cache bin / magento php: flush

Pembilasan jenis cache membersihkan penyimpanan cache, yang mungkin memengaruhi aplikasi proses lainnya yang menggunakan penyimpanan yang sama.

Joselin Pavya Elezabeth
sumber
0

Menggunakan bin/magento cache:cleanAnda dapat menentukan jenis cache (dipisahkan koma) yang ingin Anda bersihkan.

Jenis yang didukung:

config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice
yaron
sumber
Anda dapat melakukannya dengan cache: flush juga. Lihat devdocs.magento.com/guides/v2.3/config-guide/cli/… .
Ricardo Martins
0

Sementara cache:cleanmenghapus penyimpanan cache dengan tag cache:flushakan menghapus semuanya.

Ada dua perbedaan utama di sini:

beberapa hal disimpan ke dalam cache tanpa tag yang tepat. cache: clean tidak akan menghapusnya. hal-hal lain mungkin menggunakan penyimpanan cache yang sama (ini tidak disarankan, tetapi sayangnya terkadang demikian). Membilas cache akan menghasilkan semua yang terhapus. Jadi jika beberapa instance Magento menggunakan penyimpanan cache yang sama atau jika Anda menyimpan sesi Anda di database redis yang sama dengan yang Anda gunakan untuk cache (tolong jangan! :) maka semuanya juga akan hilang.

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

nikin
sumber