โลโก้ Memcached
ฐานข้อมูลBSD 3-Clause (โอเพนซอร์ส)

Memcached คืออะไร และวิธีติดตั้งบน Cloud Server

Memcached คือระบบแคชในหน่วยความจำที่ทำหน้าที่เดียวคือเก็บคู่คีย์และค่าไว้ให้ดึงเร็วที่สุด ความเรียบง่ายนี้ทำให้ตั้งค่าง่ายและใช้ทรัพยากรน้อย เหมาะกับงานแคชล้วนที่ไม่ต้องการความสามารถอื่น

หมวดหมู่
ฐานข้อมูล
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
1 vCPU · RAM 1 GB
ไลเซนส์
BSD 3-Clause (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Memcached คืออะไร

Memcached เก็บข้อมูลเป็นคู่คีย์และค่าไว้ในหน่วยความจำล้วน ไม่มีการบันทึกลงดิสก์และไม่มีโครงสร้างข้อมูลซับซ้อน ผลคือทำงานเร็วมากและคาดการณ์พฤติกรรมได้ง่าย

งานที่เหมาะที่สุดคือแคชผลลัพธ์ที่สร้างใหม่ได้เสมอ เช่น ผลคิวรีฐานข้อมูลหรือชิ้นส่วนของหน้าเว็บ เพราะถ้าข้อมูลในแคชหายไป ระบบเพียงสร้างใหม่โดยไม่มีผลเสียอื่น

เมื่อเทียบกับ Redis ที่มีโครงสร้างข้อมูลหลายแบบและบันทึกลงดิสก์ได้ Memcached ทำได้น้อยกว่าโดยตั้งใจ ทีมส่วนใหญ่ที่เริ่มใหม่จึงเลือก Redis แต่ระบบเดิมจำนวนมากยังใช้ Memcached อยู่และทำงานได้ดี

แผนผังการวางระบบ Memcached บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 11211 ตัว Memcached และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 1 vCPU แรม 1 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Memcached ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Memcached

เรียบง่ายและเร็วมาก

ทำงานเดียวคือเก็บและดึงคู่คีย์กับค่า จึงมีค่าใช้จ่ายในการประมวลผลต่ำมาก

ใช้ทรัพยากรน้อย

รันร่วมกับบริการอื่นบนเครื่องเดียวได้โดยไม่กระทบมาก

กระจายไปหลายเครื่องได้

ฝั่งไคลเอนต์เลือกเซิร์ฟเวอร์ตามคีย์ ทำให้ขยายด้วยการเพิ่มเครื่อง

รองรับในเฟรมเวิร์กทั่วไป

PHP, Python, Java และภาษาอื่นมีไลบรารีให้ใช้พร้อม

ลบข้อมูลเก่าอัตโนมัติ

เมื่อหน่วยความจำเต็มจะลบรายการที่ไม่ได้ใช้นานที่สุดออกเอง

ใช้ Memcached ทำอะไรได้บ้าง

  • แคชผลคิวรีฐานข้อมูลของเว็บที่มีผู้ชมจำนวนมาก
  • แคชชิ้นส่วนของหน้าเว็บที่สร้างซ้ำบ่อย
  • เก็บ Session ของผู้ใช้ในระบบที่ยอมให้หายได้
  • ระบบเดิมที่ออกแบบมาใช้ Memcached อยู่แล้ว

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Memcached 3 ระดับ เริ่มจาก 1 vCPU แรม 1 GB ดิสก์ NVMe 20 GB ไปจนถึง 4 vCPU แรม 16 GB ดิสก์ NVMe 60 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นแคชของเว็บเดียว1 vCPU1 GBNVMe 20 GB
แนะนำระบบที่มีผู้ใช้ต่อเนื่องและข้อมูลแคชหลายกิกะไบต์2 vCPU4 GBNVMe 40 GB
ใช้งานหนักแคชขนาดใหญ่ ยิ่ง RAM มากยิ่งเก็บได้มาก4 vCPU16 GBNVMe 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. 1

    ติดตั้ง Memcached

    sudo apt update
    sudo apt -y install memcached libmemcached-tools
  2. 2

    ตั้งค่าใน /etc/memcached.conf

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

    -m 2048
    -l 10.10.0.40
    -p 11211
    -U 0
  3. 3

    รีสตาร์ตและตรวจสถานะ

    sudo systemctl restart memcached
    memcstat --servers=10.10.0.40
  4. 4

    เปิด Firewall เฉพาะเครื่องแอป

    sudo ufw allow from 10.10.0.11 to any port 11211 proto tcp
  5. 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

พอร์ตโปรโตคอลใช้ทำอะไร
11211TCPการเชื่อมต่อจากแอป (เปิดเฉพาะวงภายในเท่านั้น)

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ผูกบริการกับไอพีภายในและห้ามเปิดสู่อินเทอร์เน็ตเด็ดขาด
  • ปิดโปรโตคอล 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 ให้ฟรี บน Cloud Server ในไทย

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