Magento 2: Cache Clean & Cache Flush แตกต่างกันอย่างไร?


22

ใน Magento 2 เรามี 2 คำสั่ง

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

ความแตกต่างที่แน่นอนระหว่างพวกเขาคืออะไร? cache:flushฉันมักจะกำลังใช้ cache:cleanผมไม่เคยใช้ ดังนั้นเมื่อใดควรใช้คำสั่ง & ในสถานการณ์ใด

คำตอบ:


29

ในการล้างรายการที่ล้าสมัยออกจากแคชคุณสามารถล้างหรือล้างประเภทแคช:

  • การทำความสะอาดประเภทแคชจะลบรายการทั้งหมดจากประเภทแคช Magento ที่เปิดใช้งานเท่านั้น กล่าวอีกนัยหนึ่งตัวเลือกนี้ไม่ส่งผลกระทบต่อกระบวนการหรือแอปพลิเคชั่นอื่น ๆ เนื่องจากจะล้างเฉพาะแคชที่วีโอไอพีใช้

    ประเภทแคชที่ปิดใช้งานจะไม่ถูกล้าง

  • การล้างประเภทแคชจะล้างหน่วยความจำแคชซึ่งอาจส่งผลต่อแอปพลิเคชันกระบวนการอื่น ๆ ที่ใช้ที่เก็บข้อมูลเดียวกัน

ล้างแคชประเภทหากคุณลองล้างแคชแล้วและยังคงมีปัญหาที่ไม่สามารถแยกได้

ที่มา: https://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-cache.html#config-cli-subcommands-cache-clean


1
ฉันจะรู้ได้ไหมว่าแอปพลิเคชั่นกระบวนการอื่น ๆ ที่จะใช้ที่เก็บแคชของวีโอไอพี
Jaya chandra

คุณสามารถเปิดใช้งานประสิทธิภาพใน Magento ได้โดยการกำหนดค่า Redis สำหรับแคชแบ็คเอนด์, การกำหนดค่า Memcached สำหรับการแคชเซสชันและการกำหนดค่า Varnish เป็น Full Page Cache (ซึ่งอธิบายโดยละเอียดใน Magento 2 Cook Book โดย Ray Bogman) แอปพลิเคชั่นอื่น ๆ หากคุณมี Redis เดียวหรือเซิร์ฟเวอร์อื่น ๆ ที่ทำงานและกำหนดค่าด้วย Magento มากกว่าหนึ่งหรือแอปพลิเคชันอื่น ๆ Running Flush จะลบไดเรกทอรี + ไฟล์ทั้งหมด แต่การล้างข้อมูลจะเป็นการลบไฟล์เพียงอย่างเดียวใน \ Magento \ var \ cache dir
บาลาวาราดราจัน

11

php bin / magento cache: สะอาด

การทำความสะอาดประเภทแคชจะลบรายการทั้งหมดจากประเภทแคช Magento ที่เปิดใช้งานเท่านั้น กล่าวอีกนัยหนึ่งตัวเลือกนี้ไม่ส่งผลกระทบต่อกระบวนการหรือแอปพลิเคชั่นอื่น ๆ เนื่องจากจะล้างเฉพาะแคชที่วีโอไอพีใช้

ประเภทแคชที่ปิดใช้งานจะไม่ถูกล้าง

php bin / magento cache: flush

การล้างประเภทแคชจะล้างหน่วยความจำแคชซึ่งอาจส่งผลต่อแอปพลิเคชันกระบวนการอื่น ๆ ที่ใช้ที่เก็บข้อมูลเดียวกัน

การอ้างอิง: DevDocs จัดการแคช


ขอบคุณ @Rafael แล้วจะใช้แบบไหนดี?
Ankit Shah

ขึ้นอยู่ แต่ฉันชอบแคช: ชัดเจน
ราฟาเอลกอร์เรอาโกเมส

ฉันพยายามสร้างไฟล์เปล่าบน var / cache และมันไม่ได้ถูกลบโดยคำสั่งเหล่านี้ตามที่คุณพูดถึง แต่ขอบคุณสำหรับสิ่งนั้น
Ricardo Martins

@RicardoMartins เป็นเพราะคุณต้องการสร้างไฟล์เช่น var / cache / mage - test-martines
Rafael Corrêa Gomes

คำตอบนี้ตรงข้ามกับคำตอบที่เลือกถ้าฉันถูกต้อง
Patrick van Efferen

2

การเสนอราคาFabrizio Brancaสำหรับรายการนี้:

(... ) วีโอไอพีที่มาพร้อมกับการกระทำสองแบบที่ต่างกันในตอนแรก (คุณจะพบปุ่มสองปุ่มในหน้าการจัดการแคช)

ในขณะที่แคช: ล้างจะลบที่เก็บแคชด้วยแท็กแคช: ล้างออกจะล้างข้อมูลทุกอย่าง

ที่นี่มีความแตกต่างที่สำคัญสองประการ:

  • บางสิ่งถูกเก็บไว้ในแคชโดยไม่มีแท็กที่เหมาะสม แคช: สะอาดจะไม่ลบสิ่งเหล่านั้น
  • สิ่งอื่น ๆ อาจกำลังใช้ที่เก็บแคชเดียวกัน (ไม่แนะนำให้ทำเช่นนี้ แต่น่าเสียดายที่บางครั้งเป็นกรณีนี้) การล้างแคชจะทำให้ทุกอย่างถูกลบ ดังนั้นหาก Magento อินสแตนซ์ใช้ที่เก็บแคชเดียวกันหรือถ้าคุณเก็บเซสชันของคุณในฐานข้อมูล Redis เดียวกันที่คุณใช้สำหรับแคช (โปรดอย่า! :) พวกเขาก็จะหายไป

1

php bin / magento cache: สะอาด

การทำความสะอาดประเภทแคชจะลบรายการทั้งหมดจากประเภทแคช Magento ที่เปิดใช้งานเท่านั้น กล่าวอีกนัยหนึ่งตัวเลือกนี้ไม่ส่งผลกระทบต่อกระบวนการหรือแอปพลิเคชั่นอื่น ๆ เนื่องจากจะล้างเฉพาะแคชที่วีโอไอพีใช้

ประเภทแคชที่ปิดใช้งานจะไม่ถูกล้าง

php bin / magento cache: flush

การล้างประเภทแคชจะล้างหน่วยความจำแคชซึ่งอาจส่งผลต่อแอปพลิเคชันกระบวนการอื่น ๆ ที่ใช้ที่เก็บข้อมูลเดียวกัน


0

การใช้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

คุณสามารถทำได้ด้วยแคช: ล้างด้วย ดูdevdocs.magento.com/guides/v2.3/config-guide/cli/...
Ricardo Martins

0

ในขณะที่cache:cleanลบการจัดเก็บแคชโดยแท็กcache:flushจะล้างทุกอย่าง

ที่นี่มีความแตกต่างที่สำคัญสองประการ:

บางสิ่งถูกเก็บไว้ในแคชโดยไม่มีแท็กที่เหมาะสม แคช: สะอาดจะไม่ลบสิ่งเหล่านั้น สิ่งอื่น ๆ อาจกำลังใช้ที่เก็บแคชเดียวกัน (ไม่แนะนำให้ทำเช่นนี้ แต่น่าเสียดายที่บางครั้งเป็นกรณีนี้) การล้างแคชจะทำให้ทุกอย่างถูกลบ ดังนั้นหาก Magento อินสแตนซ์ใช้ที่เก็บแคชเดียวกันหรือถ้าคุณเก็บเซสชันของคุณในฐานข้อมูล Redis เดียวกันที่คุณใช้สำหรับแคช (โปรดอย่า! :) พวกเขาก็จะหายไป

ที่มา: https://github.com/netz98/n98-magerun/issues/588#issuecomment-112453280

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.