โค้ดล้างแคชแบบง่าย ใช้งานได้ทันที ทุกแพลตฟอร์ม

ทำไมต้องล้างแคชและโค้ดที่ใช้ได้จริงในทุกแพลตฟอร์ม

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

ล้างแคชในลินุกซ์ด้วยคำสั่งเคอร์เนล

บนระบบลินุกซ์ แคชของเคอร์เนลจะถูกเก็บไว้ในหน่วยความจำ RAM เพื่อเพิ่มความเร็วในการเข้าถึงข้อมูลซ้ำ คำสั่งที่ใช้บ่อยที่สุดคือการเขียนค่าลงในไฟล์พิเศษ /proc/sys/vm/drop_caches คำสั่งนี้ไม่ใช่สคริปต์แต่เป็นกลไกของเคอร์เนลโดยตรง การใช้งานต้องใช้สิทธิ์รูท คำสั่งที่นิยมคือ echo 3 > /proc/sys/vm/drop_caches ซึ่งจะล้าง pagecache dentries และ inodes อย่างไรก็ตาม ควรใช้ด้วยความระมัดระวังเพราะอาจทำให้ประสิทธิภาพชั่วคราวลดลงหลังล้างแคชเนื่องจากระบบต้องโหลดข้อมูลใหม่

โค้ดล้างแคชแบบง่าย ใช้งานได้ทันที ทุกแพลตฟอร์ม - 1

เพื่อความสะดวก นักพัฒนามักสร้างสคริปต์แบชไว้สำหรับเรียกใช้เป็นประจำ ตัวอย่างสคริปต์มีเนื้อหาดังนี้:

#!/bin/bash
sync; echo 3 > /proc/sys/vm/drop_caches
echo "Cache cleaned successfully"

หลังจากสร้างไฟล์แล้ว ให้เปลี่ยนสิทธิ์ให้สามารถเรียกใช้งานได้ด้วยคำสั่ง chmod a+x script.sh จากนั้นสามารถรันด้วย ./script.sh หรือกำหนดเวลาให้ทำงานอัตโนมัติผ่าน cron โดยเพิ่มบรรทัดใน crontab เช่น 0 2 * * * /path/to/script.sh เพื่อล้างแคชทุกวันเวลา 02:00 น.

โค้ดล้างแคชแบบง่าย ใช้งานได้ทันที ทุกแพลตฟอร์ม - 2

รายการคำสั่งล้างแคชสำหรับลินุกซ์

  • echo 1 > /proc/sys/vm/drop_caches ล้าง pagecache เท่านั้น
  • echo 2 > /proc/sys/vm/drop_caches ล้าง dentries และ inodes
  • echo 3 > /proc/sys/vm/drop_caches ล้างทั้งสามส่วน
  • sync ก่อนเขียนค่าเพื่อให้ข้อมูลที่ค้างอยู่ในบัฟเฟอร์ถูกเขียนลงดิสก์
  • free -h ใช้ตรวจสอบหน่วยความจำก่อนและหลังล้างแคช

ล้างแคชในวินโดวส์ด้วยคำสั่ง Command Prompt

ในระบบปฏิบัติการวินโดวส์ แคชของระบบและบริการต่างๆ เช่น Windows Update สามารถล้างได้โดยใช้คำสั่งใน Command Prompt ที่เรียกใช้ในฐานะผู้ดูแลระบบ ตัวอย่างคำสั่งที่ใช้ล้างโฟลเดอร์ Temp และแคชของ Windows Update มีดังนี้:

del /s /q %systemroot%\Temp\*.*
del /s /q %windir%\SoftwareDistribution\Download\*.*
net stop wuauserv
net start wuauserv

คำสั่งแรกจะลบไฟล์ทั้งหมดในโฟลเดอร์ Temp ของระบบ คำสั่งที่สองลบไฟล์อัปเดตที่ดาวน์โหลดมาแล้ว หลังจากนั้นให้หยุดและเริ่มบริการ Windows Update ใหม่เพื่อให้ระบบทำงานปกติ นอกจากนี้ยังสามารถใช้คำสั่ง cleanmgr /sageset:1 เพื่อเปิดเครื่องมือ Disk Cleanup และกำหนดค่าที่ต้องการล้าง เช่น Temporary files, Recycle Bin และ Delivery Optimization Files

โค้ดล้างแคชแบบง่าย ใช้งานได้ทันที ทุกแพลตฟอร์ม - 3

ตารางเปรียบเทียบวิธีการล้างแคชในแต่ละสภาพแวดล้อม

แพลตฟอร์ม เครื่องมือ/คำสั่งหลัก ระดับสิทธิ์ที่ต้องการ
ลินุกซ์ (เคอร์เนล) echo 3 > /proc/sys/vm/drop_caches root
วินโดวส์ (ระบบ) del /s /q %systemroot%\Temp\*.* ผู้ดูแลระบบ
เว็บ (Service Worker) caches.delete('cache-name') ใน JavaScript ไม่ต้องมีสิทธิ์พิเศษ (รันในเบราว์เซอร์)
Adobe AEM CDN HTTP PURGE พร้อม header X-AEM-Purge-Key ต้องมีคีย์ที่ได้รับอนุญาต
Google Chrome เมนู Settings -> Clear browsing data ผู้ใช้ทั่วไป
Samsung Galaxy Settings -> Apps -> เลือกแอป -> Storage -> Clear cache ผู้ใช้ทั่วไป

ล้างแคชเว็บด้วย Service Workers Cache API

สำหรับเว็บแอปพลิเคชันที่ใช้ Service Worker แคชของทรัพยากรต่างๆ เช่น ไฟล์ HTML CSS JavaScript และรูปภาพจะถูกจัดการผ่าน Cache API นักพัฒนาสามารถเขียนโค้ด JavaScript เพื่อลบแคชเฉพาะรายการหรือทั้งหมด ตัวอย่างโค้ดที่ใช้ลบแคชชื่อ my-cache-v1 มีดังนี้:

caches.delete('my-cache-v1').then(function(deleted) {
  if (deleted) {
    console.log('Cache deleted successfully');
  }
});

นอกจากนี้ยังสามารถใช้ caches.keys() เพื่อดึงรายชื่อแคชทั้งหมดแล้ววนลูปลบทีละตัว วิธีนี้มีประโยชน์เมื่อต้องการอัปเดตเวอร์ชันของแคชหรือบังคับให้ผู้ใช้โหลดทรัพยากรใหม่จากเซิร์ฟเวอร์ การล้างแคชผ่าน Cache API มีประสิทธิภาพสูงเพราะทำงานโดยตรงในเบราว์เซอร์โดยไม่ต้องพึ่งพาส่วนขยายหรือเครื่องมือภายนอก

โค้ดล้างแคชแบบง่าย ใช้งานได้ทันที ทุกแพลตฟอร์ม - 4

ล้างแคช CDN ของ Adobe Experience Manager

Adobe Experience Manager (AEM) ที่ใช้ระบบ CDN ในคลาวด์อนุญาตให้ผู้ดูแลระบบล้างแคชของ URL เฉพาะหรือทั้งโดเมนผ่านคำสั่ง HTTP PURGE ตัวอย่างการส่งคำขอด้วยเครื่องมือเช่น cURL มีดังนี้:

curl -X PURGE https://example.com/content/page.html \
  -H "X-AEM-Purge-Key: your-purge-key"

การดำเนินการนี้ต้องระบุคีย์ที่ได้จาก Adobe Admin Console หลังส่งคำขอสำเร็จ CDN จะลบแคชของ URL นั้นทันที และเมื่อมีผู้ใช้เข้าถึงอีกครั้งจะดึงข้อมูลจากเซิร์ฟเวอร์ต้นทางใหม่ ฟีเจอร์นี้สำคัญมากสำหรับทีมเนื้อหาที่ต้องการให้การเปลี่ยนแปลงปรากฏทันทีโดยไม่ต้องรอให้ TTL หมดอายุ

โค้ดล้างแคชแบบง่าย ใช้งานได้ทันที ทุกแพลตฟอร์ม - 5

ล้างแคชใน Google Chrome ผ่าน UI

ผู้ใช้ทั่วไปสามารถล้างแคชของเบราว์เซอร์ Chrome ได้ง่ายผ่านเมนูการตั้งค่า ขั้นตอนคือคลิกไอคอนสามจุดที่มุมขวาบน เลือก More tools จากนั้น Clear browsing data หรือใช้แป้นพิมพ์ลัด Ctrl+Shift+Del (Windows) หรือ Cmd+Shift+Del (Mac) ในหน้าต่างที่เปิดขึ้นมา ให้เลือกช่วงเวลา เช่น Last hour หรือ All time จากนั้นติ๊กถูกที่ช่อง Cached images and files และกด Clear data วิธีนี้จะลบไฟล์แคชทั้งหมดที่เบราว์เซอร์เก็บไว้ ทำให้หน้าเว็บโหลดใหม่จากเซิร์ฟเวอร์และแก้ไขปัญหาการแสดงผลที่ผิดปกติ

ล้างแคชแอปบน Samsung Galaxy

บนสมาร์ทโฟน Samsung Galaxy แคชของแต่ละแอปพลิเคชันสามารถล้างได้โดยไม่ต้องติดตั้งเครื่องมือเพิ่มเติม ขั้นตอนคือไปที่ Settings จากนั้นเลือก Apps เลือกแอปที่ต้องการ เช่น Facebook หรือ LINE จากนั้นแตะ Storage แล้วเลือก Clear cache วิธีการนี้จะลบไฟล์ชั่วคราวที่แอปสร้างขึ้นแต่ไม่กระทบข้อมูลส่วนตัวเช่นข้อความหรือรูปภาพ ควรทำเป็นประจำทุกเดือนเพื่อลดการใช้พื้นที่เก็บข้อมูลและป้องกันแอปทำงานผิดปกติ

ข้อแนะนำเพิ่มเติมและแหล่งอ้างอิง

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

เอกสารอ้างอิง

ข้อมูลและโค้ดในบทความนี้อ้างอิงจากแหล่งข้อมูลที่น่าเชื่อถือดังนี้:
- Linux Kernel Documentation (Drop Caches): https://www.kernel.org/doc/html/latest/admin-guide/drop_caches.html
- Viva o Linux – Limpando cache de RAM: https://www.vivaolinux.com.br/dica/Limpando-sua-memoria-cache-de-forma-simples
- Procedimento.com.br – Script para Limpeza de Cache no Windows: https://www.procedimento.com.br/?p=go&os=windows&windows=script-para-limpeza-de-cache-no-windows
- MDN Web Docs – Service Workers Cache API: https://developer.mozilla.org/en-US/docs/Web/API/Cache/delete
- Adobe Experience Manager – Purge Cache: https://experienceleague.adobe.com/pt-br/docs/experience-manager-learn/cloud-service/caching/how-to/purge-cache
- Google Help – Clear cache and cookies: https://support.google.com/accounts/answer/32050
- Samsung Support – Clear app cache: https://www.samsung.com/br/support/mobile-devices/como-limpar-o-cache-e-os-dados-de-aplicativos-em-seu-galaxy/

ล้างแคช โค้ด cache ระบบ เพิ่มประสิทธิภาพ แก้ปัญหาเครื่องช้า
ข้อควรระวัง ข้อมูลนี้ใช้เพื่อการศึกษาและอาจต้องปรับให้เหมาะกับแต่ละระบบ
ผู้เขียน

Stefano Barcellos

ผู้ร่วมเขียนที่ Visite Barbados

« โพสต์ก่อนหน้า
วิธีจับภาพหน้าจอด้วยปุ่มเดียวบนคีย์บอร์ดง่ายๆ

โพสต์ที่เกี่ยวข้อง