Memcached คืออะไร และวิธีติดตั้งบน Cloud Server
Memcached คือระบบแคชในหน่วยความจำที่ทำหน้าที่เดียวคือเก็บคู่คีย์และค่าไว้ให้ดึงเร็วที่สุด ความเรียบง่ายนี้ทำให้ตั้งค่าง่ายและใช้ทรัพยากรน้อย เหมาะกับงานแคชล้วนที่ไม่ต้องการความสามารถอื่น
- หมวดหมู่
- ฐานข้อมูล
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 1 vCPU · RAM 1 GB
- ไลเซนส์
- BSD 3-Clause (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Memcached คืออะไร
Memcached เก็บข้อมูลเป็นคู่คีย์และค่าไว้ในหน่วยความจำล้วน ไม่มีการบันทึกลงดิสก์และไม่มีโครงสร้างข้อมูลซับซ้อน ผลคือทำงานเร็วมากและคาดการณ์พฤติกรรมได้ง่าย
งานที่เหมาะที่สุดคือแคชผลลัพธ์ที่สร้างใหม่ได้เสมอ เช่น ผลคิวรีฐานข้อมูลหรือชิ้นส่วนของหน้าเว็บ เพราะถ้าข้อมูลในแคชหายไป ระบบเพียงสร้างใหม่โดยไม่มีผลเสียอื่น
เมื่อเทียบกับ Redis ที่มีโครงสร้างข้อมูลหลายแบบและบันทึกลงดิสก์ได้ Memcached ทำได้น้อยกว่าโดยตั้งใจ ทีมส่วนใหญ่ที่เริ่มใหม่จึงเลือก Redis แต่ระบบเดิมจำนวนมากยังใช้ Memcached อยู่และทำงานได้ดี
ความสามารถเด่นของ Memcached
เรียบง่ายและเร็วมาก
ทำงานเดียวคือเก็บและดึงคู่คีย์กับค่า จึงมีค่าใช้จ่ายในการประมวลผลต่ำมาก
ใช้ทรัพยากรน้อย
รันร่วมกับบริการอื่นบนเครื่องเดียวได้โดยไม่กระทบมาก
กระจายไปหลายเครื่องได้
ฝั่งไคลเอนต์เลือกเซิร์ฟเวอร์ตามคีย์ ทำให้ขยายด้วยการเพิ่มเครื่อง
รองรับในเฟรมเวิร์กทั่วไป
PHP, Python, Java และภาษาอื่นมีไลบรารีให้ใช้พร้อม
ลบข้อมูลเก่าอัตโนมัติ
เมื่อหน่วยความจำเต็มจะลบรายการที่ไม่ได้ใช้นานที่สุดออกเอง
ใช้ Memcached ทำอะไรได้บ้าง
- แคชผลคิวรีฐานข้อมูลของเว็บที่มีผู้ชมจำนวนมาก
- แคชชิ้นส่วนของหน้าเว็บที่สร้างซ้ำบ่อย
- เก็บ Session ของผู้ใช้ในระบบที่ยอมให้หายได้
- ระบบเดิมที่ออกแบบมาใช้ Memcached อยู่แล้ว
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นแคชของเว็บเดียว | 1 vCPU | 1 GB | NVMe 20 GB |
| แนะนำระบบที่มีผู้ใช้ต่อเนื่องและข้อมูลแคชหลายกิกะไบต์ | 2 vCPU | 4 GB | NVMe 40 GB |
| ใช้งานหนักแคชขนาดใหญ่ ยิ่ง RAM มากยิ่งเก็บได้มาก | 4 vCPU | 16 GB | NVMe 60 GB |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Memcached บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
- RAM มากพอสำหรับข้อมูลที่ต้องการแคช
- วง Private Network ระหว่างเครื่องแอปกับเครื่องแคช
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ติดตั้ง Memcached
sudo apt update sudo apt -y install memcached libmemcached-tools - 2
ตั้งค่าใน /etc/memcached.conf
กำหนดขนาดหน่วยความจำและผูกบริการกับไอพีภายในเท่านั้น ซึ่งเป็นค่าที่สำคัญที่สุดด้านความปลอดภัย
-m 2048 -l 10.10.0.40 -p 11211 -U 0 - 3
รีสตาร์ตและตรวจสถานะ
sudo systemctl restart memcached memcstat --servers=10.10.0.40 - 4
เปิด Firewall เฉพาะเครื่องแอป
sudo ufw allow from 10.10.0.11 to any port 11211 proto tcp - 5
เชื่อมกับแอป
ตัวอย่างการตั้งค่าให้เว็บ PHP ใช้ Memcached เก็บ Session ส่วนภาษาอื่นใช้ไลบรารีที่เทียบเท่า
sudo apt -y install php8.3-memcached # ใน php.ini session.save_handler = memcached session.save_path = "10.10.0.40:11211"
ต้องปิดโปรโตคอล UDP เสมอด้วยค่า -U 0 เพราะ Memcached ที่เปิด UDP สู่อินเทอร์เน็ตเคยถูกใช้เป็นเครื่องมือขยายการโจมตี DDoS ขนาดใหญ่มาแล้ว
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 11211 | TCP | การเชื่อมต่อจากแอป (เปิดเฉพาะวงภายในเท่านั้น) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ผูกบริการกับไอพีภายในและห้ามเปิดสู่อินเทอร์เน็ตเด็ดขาด
- ปิดโปรโตคอล UDP เพื่อไม่ให้ถูกใช้เป็นเครื่องมือขยายการโจมตี
- จำกัดไอพีที่เชื่อมต่อได้ด้วย Firewall
- ไม่เก็บข้อมูลอ่อนไหวในแคชเพราะไม่มีการเข้ารหัส
ทำไมควรรัน Memcached บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ติดตั้งบนเครื่องเดียวกับเว็บได้ทันทีสำหรับระบบเล็ก และแยกเครื่องเมื่อระบบโต
เชื่อมกับเครื่องแอปผ่าน Private Network ในไทยได้โดยไม่มีค่าทราฟฟิกภายใน
ลดภาระฐานข้อมูลหลัก จึงมักประหยัดกว่าการอัปเกรดเครื่องฐานข้อมูล
คำถามที่พบบ่อยเกี่ยวกับ Memcached
Memcached กับ Redis เลือกอะไรดี
ถ้าเริ่มใหม่และต้องการความสามารถมากกว่าการแคชล้วน เช่น คิวงานหรือโครงสร้างข้อมูลหลายแบบ ให้เลือก Redis แต่ถ้าต้องการแคชล้วนที่เรียบง่ายที่สุดหรือระบบเดิมใช้อยู่แล้ว Memcached ยังทำงานได้ดีและดูแลง่าย
ข้อมูลในแคชหายเมื่อรีสตาร์ตไหม
หายทั้งหมด เพราะเก็บในหน่วยความจำล้วนโดยตั้งใจ จึงต้องใช้เก็บเฉพาะข้อมูลที่สร้างใหม่ได้เสมอ ไม่ใช้เก็บข้อมูลที่หายไม่ได้
ปลอดภัยไหมถ้าเปิดให้เครื่องอื่นเชื่อมต่อ
ปลอดภัยเมื่ออยู่ในวง Private Network และจำกัดไอพีด้วย Firewall แต่ห้ามเปิดสู่อินเทอร์เน็ตเด็ดขาด เพราะไม่มีการยืนยันตัวตนที่แข็งแรงและเคยถูกใช้ในการโจมตีขยายสัญญาณมาแล้ว
ทางเลือกอื่นที่คล้ายกับ Memcached
แอปอื่นในหมวด ฐานข้อมูล
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Memcached ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด