วิธีเปิด/ปิดหรือล้างแคชใน Magento 2
เผยแพร่แล้ว: 2018-01-16สารบัญ
สวัสดีผู้อ่านของ SimiCart และยินดีต้อนรับคุณสู่บทช่วยสอนวีโอไอพีนี้
แคชวีโอไอพีคือหน้า (หรือบางส่วนของหน้า) ที่จัดเก็บไว้เพื่อปรับปรุงเวลาในการโหลดหน้าของคำขอที่ตามมา แคชเก็บข้อมูลเพื่อให้การเรียกใช้ข้อมูลนั้นในอนาคตสามารถโหลดได้เร็วขึ้น และ Magento มีประเภทเหล่านี้: การกำหนดค่า, เลย์เอาต์, บล็อกเลย์เอาต์ HTML, เต็มหน้า (ที่เป็นที่รู้จักมากที่สุด), คอลเลกชัน, DDL, EAV, การสะท้อนกลับ, การแปล, การกำหนดค่าการรวม, การกำหนดค่าการรวม API, การกำหนดค่าบริการเว็บ สามารถสร้างและกำหนดประเภทอื่นๆ ได้
เปิด/ปิดการใช้งานประเภทแคช
ใน Magento 2 Backend
- ในแบ็กเอนด์ของ Magento ให้ไปที่ System > Tools > Cache Management
- ทำเครื่องหมายที่ช่องประเภทแคชที่คุณต้องการเปิด/ปิดใช้งาน จากนั้นที่มุมบนซ้าย ให้เลือกการดำเนินการที่เหมาะสม (เปิด/ปิด) แล้วคลิกปุ่ม ส่ง
การใช้บรรทัดคำสั่ง
คำสั่งนี้อนุญาตให้คุณเปิดหรือปิดใช้งานแคชบางประเภทหรือทั้งหมด การปิดใช้งานประเภทแคชมีประโยชน์ในระหว่างการพัฒนา เนื่องจากคุณจะเห็นผลลัพธ์ของการเปลี่ยนแปลงโดยไม่ต้องล้างแคช อย่างไรก็ตาม การปิดใช้งานประเภทแคชมีผลเสียต่อประสิทธิภาพการทำงาน
ตัวเลือกคำสั่ง:
แคชวีโอไอพี: เปิดใช้งาน [ประเภท] ... [ประเภท] วีโอไอพีแคช:ปิดการใช้งาน [ประเภท] ... [ประเภท]
โดยที่การละเว้น [type] จะเปิดใช้งานหรือปิดใช้งานแคชทุกประเภทพร้อมกัน ตัวเลือกประเภทคือรายการประเภทแคชที่คั่นด้วยช่องว่าง
ในการแสดงรายการประเภทแคชและสถานะ:
วีโอไอพีแคช:สถานะ
ตัวอย่างเช่น หากต้องการปิดใช้งานแคชแบบเต็มหน้าและแคช DDL:
แคชวีโอไอพี:ปิดการใช้งาน db_ddl full_page
ผลลัพธ์ตัวอย่าง:
เปลี่ยนสถานะแคช: db_ddl: 1 -> 0 full_page: 1 -> 0
ล้างแคชใน Magento 2
หากต้องการล้างรายการที่ล้าสมัยออกจากแคช คุณสามารถ ล้าง หรือ ล้าง ประเภทแคชได้:
- การล้างประเภทแคชจะลบรายการทั้งหมดออกจากประเภทแคช Magento ที่เปิดใช้งานเท่านั้น กล่าวอีกนัยหนึ่ง ตัวเลือกนี้ไม่มีผลกับกระบวนการหรือแอปพลิเคชันอื่นๆ เนื่องจากจะล้างเฉพาะแคชที่ Magento ใช้เท่านั้น ประเภทแคชที่ปิดใช้งานจะไม่ถูกล้าง
- การล้างข้อมูล* ประเภทแคชจะล้างพื้นที่จัดเก็บแคช ซึ่งอาจส่งผลต่อกระบวนการหรือแอปพลิเคชันอื่นๆ ที่ใช้ที่เก็บข้อมูลเดียวกัน
* คุณควรล้างประเภทแคชก็ต่อเมื่อคุณได้ลองล้างแคชแล้ว และคุณยังประสบปัญหาที่ไม่สามารถแยกออกได้
ใน Magento 2 Backend
- ในแบ็กเอนด์ของ Magento ให้ไปที่ System > Tools > Cache Management
- ทำเครื่องหมายในช่องที่คุณต้องการล้าง/ล้างแคชประเภทใด แล้ว,
- คลิก Flush Magento Cache หากคุณต้องการ ล้าง แคช เทียบเท่ากับ magento cache:clean
- คลิก Flush Cache Storage หากคุณต้องการ ล้าง แคช ซึ่งเทียบเท่ากับ magento cache:flush
- สำหรับการล้าง/ล้างแคชเพิ่มเติม คุณยังสามารถเลื่อนลงไปที่ส่วนการจัดการแคชเพิ่มเติม ซึ่งคุณสามารถล้างแคชประเภทเหล่านี้ได้:
- ล้างแคชรูปภาพแค็ตตาล็อก : ลบรูปภาพแค็ตตาล็อกที่ปรับขนาดและใส่ลายน้ำโดยอัตโนมัติทั้งหมดที่เก็บไว้ที่: 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