แคช: ความหมายและทุกด้านที่ใช้การแคช

สรุปด้านที่ใช้แคช ตั้งแต่ฮาร์ดแวร์ไปจนถึงเว็บ ให้เป็นแผนผังเดียวตามการแบ่งของวิกิพีเดีย MDN และเอกสารทางการของ WordPress เนื่องจาก CPU ระบบปฏิบัติการ ฐานข้อมูล และเบราว์เซอร์ต่างก็ใช้ชื่อเดียวกัน คำว่า “ล้างแคช” จึงลบสิ่งที่ต่างกันไปตามชั้นที่พูดถึง
แคชคือการเก็บข้อมูลที่ใช้บ่อยหรือกำลังจะต้องใช้ไว้ชั่วคราวในที่เก็บที่เร็วกว่าต้นฉบับ และเมื่อมีคำขอเดิมเข้ามา ก็ตอบด้วยสำเนานั้นแทนต้นฉบับ
บทความ Cache (computing) ในวิกิพีเดียภาษาอังกฤษแบ่งแคชออกเป็นแคชฮาร์ดแวร์ เช่น แคช CPU·แคช GPU และแคชซอฟต์แวร์ เช่น แคชดิสก์·เว็บ·DNS·ฐานข้อมูล แผนผังด้านล่างจัดกลุ่มการแบ่งนี้ตามตำแหน่งที่แคชอยู่ ส่วนแคชเว็บใช้การแบ่ง private cache และ shared cache ของ MDN
ดูลำดับที่แคชของเบราว์เซอร์·CDN·ภายในเซิร์ฟเวอร์จัดการคำขอ WordPress หนึ่งครั้งได้ในบทความ แคชเว็บไซต์ & แคชภายในเซิร์ฟเวอร์: แคชของ WordPress ทำงานอย่างไร ซึ่งมีซิมูเลเตอร์ให้ลอง
Ⅰ. อุปกรณ์ของผู้ใช้
แคชในอุปกรณ์ของผู้ใช้ เช่น คอมพิวเตอร์ส่วนตัวและสมาร์ตโฟน แบ่งได้เป็นแคชระบบปฏิบัติการ (OS) แคชเบราว์เซอร์ และแคชแอปมือถือ
แคชดิสก์ (Page Cache) เก็บข้อมูลที่อ่านจากดิสก์ไว้ในหน่วยความจำ และเคอร์เนลของระบบปฏิบัติการเป็นผู้จัดการ ส่วนแคช DNS เก็บโดเมนและที่อยู่ IP ที่เพิ่งค้นหา
เมื่อขอทรัพยากรเดิมอีกครั้ง เบราว์เซอร์จะไม่ไปถึงเซิร์ฟเวอร์ หรือแค่ตรวจว่ามีการเปลี่ยนแปลงหรือไม่ ถ้าใช้ Service Worker (Cache API) ก็เปิดเว็บแอปจากทรัพยากรที่เก็บไว้ได้แม้ออฟไลน์
แอปที่จัดการเนื้อหาขนาดใหญ่จะเก็บข้อมูลที่รับมาแล้วและรายการที่เพิ่งดูไว้ในอุปกรณ์ เพื่อไม่ต้องรับข้อมูลเดิมซ้ำ
Ⅱ. แคชเซิร์ฟเวอร์และแอปพลิเคชัน
แคชฝั่งเซิร์ฟเวอร์คือแคชที่อยู่ในขั้นตอนสร้างหน้าเว็บหลังคำขอมาถึงเซิร์ฟเวอร์ เอกสารทางการของ WordPress อธิบายโดยแบ่งเป็นปลั๊กอินแคช (แคชหน้า) Object Cache และแคชเซิร์ฟเวอร์ (แคช opcode อย่าง OPcache)
สำหรับคำขอหน้าเดิม จะส่งสำเนาที่เก็บไว้โดยไม่รัน PHP มีทั้งปลั๊กอินแคชและแคชของเว็บเซิร์ฟเวอร์
ข้ามการคอมไพล์เมื่อรันไฟล์เดิมซ้ำ มีมาเป็นค่าเริ่มต้นตั้งแต่ PHP 5.5
เก็บข้อมูลที่ใช้บ่อยไว้ในที่เก็บบนหน่วยความจำ เพื่อไม่ต้องรันคิวรีเดิมซ้ำ
เว็บเฟรมเวิร์กเก็บเทมเพลตที่เรนเดอร์แล้วและผลลัพธ์คิวรีไว้ในแคชของตัวเอง
Ⅲ. แคชการส่งเนื้อหา / โครงสร้างพื้นฐานเครือข่าย
แคชของโครงสร้างพื้นฐานเครือข่ายตอบด้วยสำเนาระหว่างผู้เข้าชมกับเซิร์ฟเวอร์ต้นทาง ช่วยลดระยะทางทางกายภาพและภาระของเซิร์ฟเวอร์ต้นทาง ในมาตรฐานแคช HTTP จัดเป็น shared cache ที่ผู้เข้าชมหลายคนใช้ร่วมกัน
ส่งเนื้อหาจากเซิร์ฟเวอร์ที่ใกล้ผู้เข้าชมที่สุดในบรรดาเซิร์ฟเวอร์ที่กระจายอยู่ทั่วโลก โครงสร้างและข้อดีอธิบายไว้ใน CDN คืออะไร เหตุผลที่ควรใช้ CDN และข้อดี 5 ข้อ (บทความแยก)
Forward Proxy เก็บการตอบกลับไว้ที่ฝั่งไคลเอนต์ เช่น เครือข่ายองค์กร ส่วน Reverse Proxy เก็บไว้ที่หน้าเซิร์ฟเวอร์
อุปกรณ์เครือข่ายเก็บไว้ในแคช ARP ส่วน DNS Resolver ของผู้ให้บริการอินเทอร์เน็ตและสาธารณะเก็บผลการค้นหาไว้ตาม TTL ของเรคคอร์ด
Ⅳ. แคชฐานข้อมูลและระบบสตอเรจ
เพราะการอ่านเขียนดิสก์ช้า ฐานข้อมูลและอุปกรณ์จัดเก็บจึงยกข้อมูลที่อ่านบ่อยขึ้นไปไว้ในหน่วยความจำ
เก็บข้อมูลที่อ่านบ่อยและอินเด็กซ์ไว้ในหน่วยความจำ Query Cache ของ MySQL ถูกถอดออกในเวอร์ชัน 8.0 ส่วน MariaDB ยังมีอยู่แต่ปิดไว้เป็นค่าเริ่มต้น
หน่วยความจำในคอนโทรลเลอร์ฮาร์ดดิสก์และ DRAM ใน SSD เก็บข้อมูลไว้ชั่วคราวเพื่อลดความหน่วงของการอ่านเขียน
Ⅴ. แคชระดับฮาร์ดแวร์
แคชฮาร์ดแวร์คือหน่วยความจำความเร็วสูงที่อยู่ใน CPU และ GPU ซึ่งประมวลผลข้อมูลได้เร็วกว่าหน่วยความจำหลัก (RAM)
L1 แยกอยู่ในแต่ละคอร์และแบ่งเป็นแคชคำสั่งกับแคชข้อมูล ส่วน L3 ทุกคอร์ใช้ร่วมกัน หน่วยจัดการหน่วยความจำ (MMU) เก็บผลการแปลงที่อยู่เสมือนเป็นที่อยู่จริงไว้ใน TLB
เพิ่มประสิทธิภาพการประมวลผลของ GPU ในเกม กราฟิก 3D และการคำนวณแมชชีนเลิร์นนิง
Ⅵ. แคชในสภาพแวดล้อมคลาวด์ / การจำลองเสมือน
ในสภาพแวดล้อมคลาวด์และการจำลองเสมือน จะนำอิมเมจคอนเทนเนอร์ สภาพแวดล้อมการรันฟังก์ชัน และผลลัพธ์การบิลด์กลับมาใช้ซ้ำ เพื่อลดเวลาในการปรับใช้และการรัน
อิมเมจ Docker ประกอบด้วยหลายเลเยอร์ และเลเยอร์ที่ไม่เปลี่ยนจะไม่ถูกบิลด์หรือดาวน์โหลดใหม่
เก็บสภาพแวดล้อมการรันที่เรียกใช้เสร็จแล้วไว้ช่วงหนึ่ง แล้วนำกลับมาใช้กับการเรียกครั้งถัดไป เพื่อลดเวลาเริ่มต้น (Cold Start) (Warm Start)
ลดเวลาการบิลด์ซ้ำ
🔢 FAQ & เนื้อหาแนะนำ









ℹ️ ประกาศเรื่องลิงก์แอฟฟิลิเอต
เนื้อหาของเว็บไซต์นี้มีลิงก์แอฟฟิลิเอต หากผู้เข้าชมซื้อสินค้าหรือบริการผ่านลิงก์เหล่านี้ เว็บไซต์นี้จะได้รับค่าคอมมิชชันจากผู้ขาย ในกระบวนการนี้ ราคาที่ผู้ซื้อจ่าย(ราคาจะลดลงเมื่อมีโปรโมชัน↓)จะไม่สูงขึ้นแต่อย่างใด ราคา ส่วนลด และข้อมูลสต็อกที่แสดงเป็นข้อมูล ณ เวลาที่เขียนและอาจต่างจากความเป็นจริง โปรดตรวจสอบกับผู้ขายอีกครั้งก่อนซื้อ การเลือกและการประเมินสินค้าเขียนตามเกณฑ์ของเราเอง และการได้รับค่าคอมมิชชันหรือไม่ไม่มีผลต่อลำดับการแนะนำหรือเนื้อหาการประเมิน