วิธีเปิด/ปิดหรือล้างแคชใน Magento 2

เผยแพร่แล้ว: 2018-01-16

สารบัญ

สวัสดีผู้อ่านของ SimiCart และยินดีต้อนรับคุณสู่บทช่วยสอนวีโอไอพีนี้

แคชวีโอไอพีคือหน้า (หรือบางส่วนของหน้า) ที่จัดเก็บไว้เพื่อปรับปรุงเวลาในการโหลดหน้าของคำขอที่ตามมา แคชเก็บข้อมูลเพื่อให้การเรียกใช้ข้อมูลนั้นในอนาคตสามารถโหลดได้เร็วขึ้น และ Magento มีประเภทเหล่านี้: การกำหนดค่า, เลย์เอาต์, บล็อกเลย์เอาต์ HTML, เต็มหน้า (ที่เป็นที่รู้จักมากที่สุด), คอลเลกชัน, DDL, EAV, การสะท้อนกลับ, การแปล, การกำหนดค่าการรวม, การกำหนดค่าการรวม API, การกำหนดค่าบริการเว็บ สามารถสร้างและกำหนดประเภทอื่นๆ ได้

เปิด/ปิดการใช้งานประเภทแคช

ใน Magento 2 Backend

  1. ในแบ็กเอนด์ของ Magento ให้ไปที่ System > Tools > Cache Management
    รีเฟรชแคช
  2. ทำเครื่องหมายที่ช่องประเภทแคชที่คุณต้องการเปิด/ปิดใช้งาน จากนั้นที่มุมบนซ้าย ให้เลือกการดำเนินการที่เหมาะสม (เปิด/ปิด) แล้วคลิกปุ่ม ส่ง

การใช้บรรทัดคำสั่ง

คำสั่งนี้อนุญาตให้คุณเปิดหรือปิดใช้งานแคชบางประเภทหรือทั้งหมด การปิดใช้งานประเภทแคชมีประโยชน์ในระหว่างการพัฒนา เนื่องจากคุณจะเห็นผลลัพธ์ของการเปลี่ยนแปลงโดยไม่ต้องล้างแคช อย่างไรก็ตาม การปิดใช้งานประเภทแคชมีผลเสียต่อประสิทธิภาพการทำงาน

ตัวเลือกคำสั่ง:

 แคชวีโอไอพี: เปิดใช้งาน [ประเภท] ... [ประเภท]
วีโอไอพีแคช:ปิดการใช้งาน [ประเภท] ... [ประเภท]

โดยที่การละเว้น [type] จะเปิดใช้งานหรือปิดใช้งานแคชทุกประเภทพร้อมกัน ตัวเลือกประเภทคือรายการประเภทแคชที่คั่นด้วยช่องว่าง

ในการแสดงรายการประเภทแคชและสถานะ:

 วีโอไอพีแคช:สถานะ

ตัวอย่างเช่น หากต้องการปิดใช้งานแคชแบบเต็มหน้าและแคช DDL:

 แคชวีโอไอพี:ปิดการใช้งาน db_ddl full_page

ผลลัพธ์ตัวอย่าง:

 เปลี่ยนสถานะแคช:
 db_ddl: 1 -> 0
 full_page: 1 -> 0

ล้างแคชใน Magento 2

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

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

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

ใน Magento 2 Backend

  1. ในแบ็กเอนด์ของ Magento ให้ไปที่ System > Tools > Cache Management
  2. ทำเครื่องหมายในช่องที่คุณต้องการล้าง/ล้างแคชประเภทใด แล้ว,
    • คลิก Flush Magento Cache หากคุณต้องการ ล้าง แคช เทียบเท่ากับ magento cache:clean
    • คลิก Flush Cache Storage หากคุณต้องการ ล้าง แคช ซึ่งเทียบเท่ากับ magento cache:flush
  3. สำหรับการล้าง/ล้างแคชเพิ่มเติม คุณยังสามารถเลื่อนลงไปที่ส่วนการจัดการแคชเพิ่มเติม ซึ่งคุณสามารถล้างแคชประเภทเหล่านี้ได้:
    • ล้างแคชรูปภาพแค็ตตาล็อก : ลบรูปภาพแค็ตตาล็อกที่ปรับขนาดและใส่ลายน้ำโดยอัตโนมัติทั้งหมดที่เก็บไว้ที่: media/catalog/product/cache หากรูปภาพที่เพิ่งอัปโหลดไม่ปรากฏในแค็ตตาล็อก ให้ลองล้างแค็ตตาล็อกและรีเฟรชเบราว์เซอร์ของคุณ
    • ล้างแคช JavaScript/CSS : ลบสำเนาที่ผสานของไฟล์ JavaScript และ CSS ออกจากแคช หากการเปลี่ยนแปลงล่าสุดในสไตล์ชีตหรือ JavaScript ไม่ปรากฏในสโตร์ ให้ลองล้างแคช JavaScript/CSS และรีเฟรชเบราว์เซอร์ของคุณ
    • ล้างแคชไฟล์สแตติก : ลบไฟล์มุมมองที่ประมวลผลล่วงหน้าและไฟล์สแตติก
    • ตรวจสอบให้แน่ใจว่าได้ล้างแคชของเบราว์เซอร์ของคุณด้วย

การใช้บรรทัดคำสั่ง

การใช้คำสั่ง:

 วีโอไอพีแคช:สะอาด [ประเภท] ... [ประเภท]
magento cache:flush [ประเภท] ... [ประเภท]

โดยที่ [type] คือรายการประเภทแคชที่คั่นด้วยช่องว่าง การละเว้น [type] จะล้างหรือล้างแคชทุกประเภทพร้อมกัน ตัวอย่างเช่น หากต้องการล้างแคชทุกประเภท:

 วีโอไอพีแคช:ล้าง

ผลลัพธ์ตัวอย่าง:

 ประเภทแคชที่ล้าง:
config
เลย์เอาต์
block_html
ของสะสม
db_ddl
eav
เต็มหน้า
แปลภาษา
config_integration
config_integration_api
config_webservice

ดูสถานะแคช

หากต้องการดูสถานะของแคช ให้ป้อน

 วีโอไอพีแคช:สถานะ

ผลลัพธ์ตัวอย่าง:

 config: 1
                เลย์เอาต์: 1
            block_html: 1
           คอลเลกชัน: 1
                db_ddl: 1
                   eav: 1
             full_page: 1
             แปล: 1
    config_integration: 1
config_integration_api: 1
     config_webservice: 1

ภาพรวมของประเภทแคช

Magento 2 มีประเภท แคช ดังต่อไปนี้:

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

ล้างหรือล้างแคชประเภทนี้หลังจากแก้ไขไฟล์การกำหนดค่าหรือการตั้งค่าภายในแผงการดูแลระบบ

เค้าโครง เลย์เอาต์ เค้าโครงหน้าที่คอมไพล์แล้ว (นั่นคือ ส่วนประกอบเลย์เอาต์จากส่วนประกอบทั้งหมด)

ล้างหรือล้างแคชประเภทนี้หลังจากแก้ไขไฟล์โครงร่าง

บล็อกเอาต์พุต HTML block_html ส่วนของหน้า HTML ต่อบล็อก

ล้างหรือล้างแคชประเภทนี้หลังจากแก้ไขเลเยอร์การดู

ข้อมูลคอลเลกชัน ของสะสม ผลลัพธ์ของการสืบค้นฐานข้อมูล

หากจำเป็น Magento จะล้างแคชนี้โดยอัตโนมัติ แต่นักพัฒนาจากภายนอกสามารถใส่ข้อมูลใดๆ ในส่วนใดก็ได้ของแคช

ล้างหรือล้างแคชประเภทนี้หากโมดูลที่กำหนดเองของคุณใช้ตรรกะที่ส่งผลให้รายการแคชที่ Magento ไม่สามารถล้างได้

DDL db_ddl สคีมาฐานข้อมูล

หากจำเป็น Magento จะล้างแคชนี้โดยอัตโนมัติ แต่นักพัฒนาจากภายนอกสามารถใส่ข้อมูลใดๆ ในส่วนใดก็ได้ของแคช

ล้างหรือล้างแคชประเภทนี้หลังจากที่คุณทำการเปลี่ยนแปลงแบบกำหนดเองกับสกีมาฐานข้อมูล (กล่าวคือ การอัปเดตที่ Magento ไม่ได้สร้างขึ้นเอง)

วิธีหนึ่งในการอัปเดตสคีมาฐานข้อมูลโดยอัตโนมัติคือการใช้คำสั่ง magento setup:db-schema:upgrade

ค่าแอตทริบิวต์ของเอนทิตี (EAV) eav ข้อมูลเมตาที่เกี่ยวข้องกับแอตทริบิวต์ EAV (เช่น ป้ายร้านค้า ลิงก์ไปยังโค้ด PHP ที่เกี่ยวข้อง การแสดงแอตทริบิวต์ การตั้งค่าการค้นหา และอื่นๆ)

โดยปกติคุณไม่จำเป็นต้องล้างหรือล้างแคชประเภทนี้

แคชหน้า เต็มหน้า หน้า HTML ที่สร้างขึ้น

หากจำเป็น Magento จะล้างแคชนี้โดยอัตโนมัติ แต่นักพัฒนาจากภายนอกสามารถใส่ข้อมูลใดๆ ในส่วนใดก็ได้ของแคช

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

การสะท้อน การสะท้อน ลบการพึ่งพาระหว่างโมดูล Webapi และโมดูลลูกค้า
คำแปล แปลภาษา รวมการแปลจากทุกโมดูล
การกำหนดค่าการรวม config_integration การผสานรวมที่คอมไพล์แล้ว

ล้างหรือล้างแคชนี้หลังจากเปลี่ยนหรือเพิ่มการผสานการทำงาน

การกำหนดค่า API การรวม config_integration_api API การรวมที่คอมไพล์แล้ว
การกำหนดค่าบริการเว็บ config_webservice โครงสร้างเว็บ API

กระทู้ที่เกี่ยวข้อง:

วิธีกำหนดค่าแคชแบบเต็มหน้าใน Magento 2

วิธีเปิดหรือปิดโมดูลใน Magento 2