ใน Magento 2 เรามี 2 คำสั่ง
php bin/magento cache:flush
php bin/magento cache:clean
ความแตกต่างที่แน่นอนระหว่างพวกเขาคืออะไร? cache:flush
ฉันมักจะกำลังใช้ cache:clean
ผมไม่เคยใช้ ดังนั้นเมื่อใดควรใช้คำสั่ง & ในสถานการณ์ใด
ใน Magento 2 เรามี 2 คำสั่ง
php bin/magento cache:flush
php bin/magento cache:clean
ความแตกต่างที่แน่นอนระหว่างพวกเขาคืออะไร? cache:flush
ฉันมักจะกำลังใช้ cache:clean
ผมไม่เคยใช้ ดังนั้นเมื่อใดควรใช้คำสั่ง & ในสถานการณ์ใด
คำตอบ:
ในการล้างรายการที่ล้าสมัยออกจากแคชคุณสามารถล้างหรือล้างประเภทแคช:
การทำความสะอาดประเภทแคชจะลบรายการทั้งหมดจากประเภทแคช Magento ที่เปิดใช้งานเท่านั้น กล่าวอีกนัยหนึ่งตัวเลือกนี้ไม่ส่งผลกระทบต่อกระบวนการหรือแอปพลิเคชั่นอื่น ๆ เนื่องจากจะล้างเฉพาะแคชที่วีโอไอพีใช้
ประเภทแคชที่ปิดใช้งานจะไม่ถูกล้าง
การล้างประเภทแคชจะล้างหน่วยความจำแคชซึ่งอาจส่งผลต่อแอปพลิเคชันกระบวนการอื่น ๆ ที่ใช้ที่เก็บข้อมูลเดียวกัน
ล้างแคชประเภทหากคุณลองล้างแคชแล้วและยังคงมีปัญหาที่ไม่สามารถแยกได้
php bin / magento cache: สะอาด
การทำความสะอาดประเภทแคชจะลบรายการทั้งหมดจากประเภทแคช Magento ที่เปิดใช้งานเท่านั้น กล่าวอีกนัยหนึ่งตัวเลือกนี้ไม่ส่งผลกระทบต่อกระบวนการหรือแอปพลิเคชั่นอื่น ๆ เนื่องจากจะล้างเฉพาะแคชที่วีโอไอพีใช้
ประเภทแคชที่ปิดใช้งานจะไม่ถูกล้าง
php bin / magento cache: flush
การล้างประเภทแคชจะล้างหน่วยความจำแคชซึ่งอาจส่งผลต่อแอปพลิเคชันกระบวนการอื่น ๆ ที่ใช้ที่เก็บข้อมูลเดียวกัน
การอ้างอิง: DevDocs จัดการแคช
การเสนอราคาFabrizio Brancaสำหรับรายการนี้:
(... ) วีโอไอพีที่มาพร้อมกับการกระทำสองแบบที่ต่างกันในตอนแรก (คุณจะพบปุ่มสองปุ่มในหน้าการจัดการแคช)
ในขณะที่แคช: ล้างจะลบที่เก็บแคชด้วยแท็กแคช: ล้างออกจะล้างข้อมูลทุกอย่าง
ที่นี่มีความแตกต่างที่สำคัญสองประการ:
- บางสิ่งถูกเก็บไว้ในแคชโดยไม่มีแท็กที่เหมาะสม แคช: สะอาดจะไม่ลบสิ่งเหล่านั้น
- สิ่งอื่น ๆ อาจกำลังใช้ที่เก็บแคชเดียวกัน (ไม่แนะนำให้ทำเช่นนี้ แต่น่าเสียดายที่บางครั้งเป็นกรณีนี้) การล้างแคชจะทำให้ทุกอย่างถูกลบ ดังนั้นหาก Magento อินสแตนซ์ใช้ที่เก็บแคชเดียวกันหรือถ้าคุณเก็บเซสชันของคุณในฐานข้อมูล Redis เดียวกันที่คุณใช้สำหรับแคช (โปรดอย่า! :) พวกเขาก็จะหายไป
php bin / magento cache: สะอาด
การทำความสะอาดประเภทแคชจะลบรายการทั้งหมดจากประเภทแคช Magento ที่เปิดใช้งานเท่านั้น กล่าวอีกนัยหนึ่งตัวเลือกนี้ไม่ส่งผลกระทบต่อกระบวนการหรือแอปพลิเคชั่นอื่น ๆ เนื่องจากจะล้างเฉพาะแคชที่วีโอไอพีใช้
ประเภทแคชที่ปิดใช้งานจะไม่ถูกล้าง
php bin / magento cache: flush
การล้างประเภทแคชจะล้างหน่วยความจำแคชซึ่งอาจส่งผลต่อแอปพลิเคชันกระบวนการอื่น ๆ ที่ใช้ที่เก็บข้อมูลเดียวกัน
การใช้bin/magento cache:clean
คุณสามารถระบุประเภทแคช (คั่นด้วยเครื่องหมายจุลภาค) ที่คุณต้องการล้าง
ประเภทที่รองรับ:
config, layout, block_html, collections, reflection, db_ddl, eav,
customer_notification, target_rule, full_page, config_integration,
config_integration_api, translate, config_webservice
ในขณะที่cache:clean
ลบการจัดเก็บแคชโดยแท็กcache:flush
จะล้างทุกอย่าง
ที่นี่มีความแตกต่างที่สำคัญสองประการ:
บางสิ่งถูกเก็บไว้ในแคชโดยไม่มีแท็กที่เหมาะสม แคช: สะอาดจะไม่ลบสิ่งเหล่านั้น สิ่งอื่น ๆ อาจกำลังใช้ที่เก็บแคชเดียวกัน (ไม่แนะนำให้ทำเช่นนี้ แต่น่าเสียดายที่บางครั้งเป็นกรณีนี้) การล้างแคชจะทำให้ทุกอย่างถูกลบ ดังนั้นหาก Magento อินสแตนซ์ใช้ที่เก็บแคชเดียวกันหรือถ้าคุณเก็บเซสชันของคุณในฐานข้อมูล Redis เดียวกันที่คุณใช้สำหรับแคช (โปรดอย่า! :) พวกเขาก็จะหายไป
ที่มา: https://github.com/netz98/n98-magerun/issues/588#issuecomment-112453280