โลโก้ Redis
อันดับ 9 ใน Top 100 ฐานข้อมูลRSALv2 / SSPL (ตรวจสอบเงื่อนไขรุ่นที่ใช้)

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

Redis คือฐานข้อมูลที่เก็บข้อมูลไว้ในหน่วยความจำ จึงตอบสนองในระดับต่ำกว่ามิลลิวินาที นิยมใช้ทำ Cache เก็บ Session และเป็นคิวงานเบื้องหลังของเว็บที่ต้องการความเร็ว

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

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

Redis คืออะไร

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

นอกจากเป็น Cache แล้ว Redis ยังรองรับโครงสร้างข้อมูลหลายแบบ ทั้ง List, Set, Sorted Set และ Stream ทำให้ใช้เป็นคิวงานเบื้องหลัง ระบบจัดอันดับ และตัวนับแบบเรียลไทม์ได้

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

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

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

เร็วระดับต่ำกว่ามิลลิวินาที

ลดภาระฐานข้อมูลหลักได้มากเมื่อใช้แคชผลลัพธ์ที่อ่านซ้ำบ่อย

โครงสร้างข้อมูลหลากหลาย

ใช้ทำคิวงาน ระบบจัดอันดับ และตัวนับแบบเรียลไทม์ได้ในตัวเดียว

ตั้งอายุข้อมูลอัตโนมัติ

กำหนดเวลาหมดอายุต่อคีย์ เหมาะกับ Session และ OTP

Pub/Sub และ Stream

ส่งข้อความระหว่างบริการแบบเรียลไทม์โดยไม่ต้องติดตั้ง Message Broker แยก

บันทึกลงดิสก์ได้

เลือกเก็บสแนปช็อตหรือ Append-only file เพื่อกู้ข้อมูลกลับหลังรีสตาร์ต

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

  • แคชหน้าเว็บและผลลัพธ์คิวรีของ WordPress, Laravel และ Django
  • เก็บ Session ของผู้ใช้เมื่อเว็บรันหลายเครื่องหลัง Load Balancer
  • คิวงานเบื้องหลัง เช่น ส่งอีเมล สร้างรายงาน และประมวลผลรูป
  • ตัวนับและระบบจำกัดอัตราการเรียก API แบบเรียลไทม์

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

แผนภาพเทียบสเปก Cloud Server สำหรับ Redis 3 ระดับ เริ่มจาก 1 vCPU แรม 2 GB ดิสก์ NVMe 20 GB ไปจนถึง 4 vCPU ขึ้นไป แรม 16 GB ขึ้นไป ดิสก์ NVMe 80 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เริ่มต้นแคชของเว็บเดียว1 vCPU2 GBNVMe 20 GB
แนะนำแคชและ Session ของระบบที่มีผู้ใช้ต่อเนื่อง2 vCPU8 GBNVMe 40 GB
ระบบใหญ่ชุดข้อมูลในหน่วยความจำขนาดใหญ่หรือคิวงานปริมาณมาก4 vCPU ขึ้นไป16 GB ขึ้นไปNVMe 80 GB

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Redis บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
  • RAM มากกว่าขนาดชุดข้อมูลที่ต้องการเก็บอย่างน้อยหนึ่งเท่าครึ่ง
  • ตั้งค่า vm.overcommit_memory ตามคำแนะนำของโครงการเมื่อเปิดการบันทึกลงดิสก์

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้ง Redis

    sudo apt update
    sudo apt -y install redis-server
    sudo systemctl enable --now redis-server
  2. 2

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

    ตั้งรหัสผ่าน จำกัดหน่วยความจำ และเลือกนโยบายลบคีย์เก่าเมื่อเต็ม

    bind 127.0.0.1 10.10.0.20
    requirepass ChangeThisStrongPassword
    maxmemory 4gb
    maxmemory-policy allkeys-lru
    appendonly yes
  3. 3

    รีสตาร์ตและทดสอบ

    sudo systemctl restart redis-server
    redis-cli -a ChangeThisStrongPassword ping
  4. 4

    เชื่อมกับ WordPress

    ติดตั้งส่วนขยาย PHP แล้วใช้ปลั๊กอิน Redis Object Cache เพื่อลดภาระฐานข้อมูล

    sudo apt -y install php8.3-redis
    sudo systemctl restart php8.3-fpm
  5. 5

    เชื่อมกับ Laravel

    ตั้งค่าในไฟล์ .env ให้ใช้ Redis เป็นทั้งแคช คิว และที่เก็บ Session

    CACHE_STORE=redis
    QUEUE_CONNECTION=redis
    SESSION_DRIVER=redis
    REDIS_HOST=10.10.0.20
    REDIS_PASSWORD=ChangeThisStrongPassword

ถ้าใช้ Redis เก็บข้อมูลที่หายไม่ได้ เช่น คิวงานสำคัญ ให้เปิด appendonly และรวมไฟล์ข้อมูลไว้ในแผนสำรองด้วย

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
6379TCPการเชื่อมต่อ Redis (ห้ามเปิดสู่อินเทอร์เน็ต)

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

  • ตั้ง requirepass เสมอ และผูกบริการกับไอพีภายในเท่านั้น
  • ปิดหรือเปลี่ยนชื่อคำสั่งอันตรายอย่าง FLUSHALL และ CONFIG ในระบบ Production
  • กำหนด maxmemory และนโยบายการลบคีย์เพื่อไม่ให้หน่วยความจำเต็มเครื่อง
  • อัปเดตเวอร์ชันสม่ำเสมอ เพราะ Redis ที่เปิดสาธารณะเป็นเป้าหมายยอดนิยมของบอต

ทำไมควรรัน Redis บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

ติดตั้งบน Cloud Server เครื่องเดียวกับเว็บก็ได้ผลทันทีสำหรับระบบขนาดเล็ก และแยกเครื่องได้เมื่อโตขึ้น

ลดโหลดฐานข้อมูลหลักได้มาก จึงมักช่วยให้ประหยัดกว่าการอัปเกรดเครื่องฐานข้อมูล

เมื่อรันเว็บหลายเครื่องหลัง Load Balancer ในไทย Redis กลางช่วยให้ Session ของผู้ใช้ไม่หลุดเมื่อสลับเครื่อง

คำถามที่พบบ่อยเกี่ยวกับ Redis

Redis ใช้แทนฐานข้อมูลหลักได้ไหม

โดยทั่วไปไม่ควร Redis ออกแบบมาให้เร็วโดยเก็บข้อมูลในหน่วยความจำ จึงเหมาะเป็นชั้นแคชและที่เก็บข้อมูลชั่วคราวมากกว่า ข้อมูลถาวรควรอยู่ในฐานข้อมูลที่ออกแบบมาเพื่อความคงทน

ใส่ Redis แล้วเว็บเร็วขึ้นจริงไหม

จริงเมื่อคอขวดอยู่ที่การคิวรีฐานข้อมูลซ้ำ ๆ ซึ่งพบบ่อยในเว็บ WordPress ที่มีปลั๊กอินเยอะ แต่ถ้าเว็บช้าเพราะรูปภาพใหญ่หรือสคริปต์ฝั่งหน้าเว็บ Redis จะไม่ช่วย

ข้อมูลใน Redis หายเมื่อรีสตาร์ตหรือไม่

หายถ้าไม่ได้เปิดการบันทึกลงดิสก์ ถ้าเปิด appendonly ไว้ Redis จะกู้ข้อมูลกลับได้เกือบทั้งหมด แต่ก็ยังไม่ควรใช้เก็บข้อมูลที่หายไม่ได้จริง ๆ

ให้เราติดตั้ง Redis ให้ฟรี บน Cloud Server ในไทย

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