คู่มือการใช้งาน เมนู Redis - (DirectAdmin User Level)
เปิดหรือปิด Redis และคัดลอก Socket Path สำหรับใช้เป็น Object Cache พร้อมข้อควรระวังก่อนเปลี่ยนสถานะบนเว็บไซต์จริง
Redis ใช้ทำอะไร และเข้าเมนูตรงไหน
เมนู Redis ใช้เปิด–ปิดบริการ Redis ของบัญชีและดู Socket Path สำหรับเชื่อมต่อจากเว็บไซต์ Redis มักทำหน้าที่เป็น Object แคชให้ WordPress, WooCommerce, Laravel หรือแอปที่รองรับ ช่วยลดการอ่านฐานข้อมูลซ้ำในงานที่เหมาะสม

สำหรับลูกค้า Premium Hosting ให้เข้าจากหน้า Dashboard แล้วดูที่กลุ่ม Advanced Features จากนั้นกดเมนู Redis
สิ่งที่ควรรู้ตั้งแต่ต้นคือหน้า Redis ของ DirectAdmin ไม่ได้เป็นหน้าจัดการ key ในแคช, ไม่ได้มีเครื่องมือ flush แคช, และไม่ได้ตั้งค่าปลั๊กอิน WordPress ให้โดยอัตโนมัติ หน้านี้บอกว่า Redis ของบัญชีเปิดอยู่หรือไม่ และให้ค่า redis.sock ที่แอปต้องใช้เชื่อมต่อภายในบัญชีโฮสติ้ง
เมนูนี้เหมาะกับงานเหล่านี้:
- ตรวจว่า Redis เปิดอยู่หรือไม่ - ดูจากสถานะ card ว่าบัญชีนี้ เปิดหรือปิดใช้งาน
- คัดลอก socket path - นำ path ไปตั้งค่าในปลั๊กอินหรือแอปที่รองรับ Redis socket
- เปิดหรือปิด Redis ของบัญชี - ใช้ปุ่ม Enable/Disable โดยต้องรู้ผลกระทบกับเว็บก่อนกด
- เตือนเรื่อง database ID - แยก database ID ให้แต่ละแอปเพื่อเลี่ยง key ชนกัน
ทำความรู้จักสถานะ Redis และ Socket Path
เมื่อเข้าหน้า Redis แล้ว ด้านบนจะแสดง breadcrumb Dashboard > Redis เพื่อยืนยันว่าคุณอยู่ในเมนู Redis โดยตรง ถ้าต้องย้อนกลับหน้าแรกให้กด Dashboard ใน breadcrumb แทนการกดปุ่มอื่นแบบเดาสุ่ม

มุมขวาบนของพื้นที่เนื้อหามี ตัวเลือกโดเมน เช่น phalconhost2.com ใช้บอกบริบทโดเมนปัจจุบันของ DirectAdmin แต่ Redis ในหน้านี้เป็นสถานะระดับบัญชีผู้ใช้ ไม่ใช่ตารางแยกต่อโดเมน ดังนั้นถ้าบัญชีมีหลายเว็บ ให้จำไว้ว่า socket path ที่แสดงอยู่เป็น path ของ user เดียวกัน ส่วนการเลือกว่าจะให้เว็บไหนใช้ Redis ต้องไปตั้งค่าในแอปของเว็บนั้นเอง
- แถบสีเขียวและไอคอนเครื่องหมายถูก - บอกว่าสถานะปัจจุบันเป็นปกติและ Redis เปิดใช้งานอยู่
- Status - ชื่อกล่องสถานะของ Redis service สำหรับบัญชีนี้
- This account has Redis enabled. - ข้อความยืนยันว่าบัญชีนี้เปิด Redis แล้ว แอปที่ตั้งค่า socket ถูกต้องจึงสามารถเชื่อมต่อได้
- DISABLE - ปุ่มสีแดง/ส้มสำหรับปิด Redis ของบัญชีนี้ ปุ่มนี้เป็นคำสั่งสำคัญเพราะมีผลกับเว็บที่กำลังใช้ Redis อยู่
คัดลอก Redis Socket Path ไปใช้งาน
ส่วน Path to redis socket file แสดง path ของ Unix socket ที่แอปภายในบัญชีโฮสติ้งใช้เชื่อมต่อ Redis โดยในตัวอย่าง แสดงเป็น:

/home/phalcon1/.redis/redis.sock
ค่าจริงของลูกค้าแต่ละบัญชีจะต่างกันตาม username ของโฮสติ้ง เช่น path มักอยู่ใต้ /home/{user}/.redis/redis.sock จึงควรคัดลอกจาก DirectAdmin ของบัญชีตัวเองเสมอ ไม่ควรคัดลอก path จากบทความนี้ไปใช้ตรง ๆ กับบัญชีจริง
- หัวข้อ Path to redis socket file - บอกว่าส่วนนี้คือ path สำหรับเชื่อม Redis ผ่าน socket ไม่ใช่ host/port แบบ TCP
- กล่อง code สีอ่อน - แสดงค่า socket path ที่ต้องนำไปใส่ในแอปหรือปลั๊กอิน
- ไอคอน Copy code - ไอคอนคัดลอกทางขวาของกล่อง code ใช้คัดลอก path เข้าคลิปบอร์ด ลดโอกาสพิมพ์ตกหรือเว้นวรรคผิด
ตัวอย่างแนวคิดสำหรับ WordPress object แคชคือเปิด Redis ใน DirectAdmin ก่อน จากนั้นตั้งค่าปลั๊กอิน Redis/Object แคชให้ใช้ socket path ของบัญชีแล้วค่อยกด enable object แคชในปลั๊กอินนั้น ถ้า plugin ต้องการ database ID ให้กำหนดเป็นเลขที่ไม่ชนกับแอปอื่นตามหัวข้อถัดไป
ข้อควรระวัง: socket path ไม่ใช่รหัสผ่าน แต่ยังเป็นข้อมูลภายในบัญชีโฮสติ้ง ควรส่งให้ทีม Support เฉพาะเมื่อจำเป็น และไม่ควรโพสต์ลงพื้นที่สาธารณะพร้อมข้อมูลอื่นของบัญชี
แยก Database ID ให้แต่ละแอป
ใต้ socket path มีคำเตือนของ DirectAdmin ว่า Please make sure you specify different database IDs for your applications, so that there would be no key conflicts. ความหมายคือถ้าบัญชีเดียวกันมีหลายแอปใช้ Redis ร่วมกัน ควรกำหนด database ID แยกให้แต่ละแอป เพื่อไม่ให้ key ของแอปหนึ่งไปชนหรือถูก flush กระทบอีกแอปหนึ่ง

- Redis เก็บข้อมูลเป็น key/value - แอปจำนวนมากใช้ชื่อ key ที่คล้ายกัน เช่นแคช, options, sessions หรือ transient
- หลายแอปอาจใช้ Redis ตัวเดียวกันในบัญชี - เช่น WordPress หลายเว็บ, staging site, Laravel app และ WooCommerce ที่อยู่ใน user เดียวกัน
- ถ้าใช้ database ID เดียวกันโดยไม่แยก - key อาจชนกัน หรือการล้างแคชของเว็บหนึ่งอาจกระทบแคชของอีกเว็บ
- การแยก database ID ช่วยลดผลกระทบ - ให้แต่ละแอปมีพื้นที่แคชแยกเชิงตรรกะ แม้ใช้ Redis service ของบัญชีเดียวกัน
ตัวอย่างแนวทางคือให้เว็บหลักใช้ database ID 0, เว็บ staging ใช้ 1, Laravel app ใช้ 2 และระบบทดลองใช้ 3 โดยต้องจดไว้ในเอกสารภายในว่าแอปไหนใช้เลขอะไร เพื่อไม่ให้คนดูแลคนถัดไปตั้งซ้ำโดยไม่รู้ตัว
เปิดหรือปิด Redis อย่างปลอดภัย
เมื่อ Redis เปิดอยู่ ปุ่มที่เห็นคือ DISABLE และเมื่อกดแล้วจากหน้าที่ทดสอบ DirectAdmin จะเปลี่ยนสถานะทันทีเป็น This account has Redis disabled. พร้อมแสดง ข้อความแจ้ง Success มุมขวาล่าง โดยไม่พบหน้าต่างยืนยันแยกให้กด Cancel/Confirm ก่อนปิด service

เมื่อ Redis ปิดอยู่ กล่องสถานะจะเปลี่ยนเป็นแถบสีเหลือง/น้ำตาลพร้อมไอคอนรูปโล่ ข้อความสถานะเป็น This account has Redis disabled. และปุ่มจะเปลี่ยนเป็น ENABLE สีเขียวเพื่อเปิดกลับ การกด ENABLE ก็เป็นคำสั่งที่เปลี่ยนสถานะ service ทันทีเช่นกัน และเมื่อสำเร็จระบบจะแสดงข้อความแจ้ง Success
- ก่อนกด DISABLE - ตรวจว่าเว็บไซต์หรือแอปใดกำลังใช้ Socket Path นี้ เพราะการปิด Redis มีผลกับทั้งบัญชีทันที
- หลังเปลี่ยนสถานะ - ดูข้อความในสถานะ card ให้แน่ใจว่าเป็น Enabled หรือใช้งานไม่ได้ ตามที่ต้องการ แล้วเปิดหน้าเว็บจริงทดสอบ
- ถ้าเว็บมี Error - ให้เปิด Redis กลับก่อน จากนั้นค่อยตรวจค่า Socket Path, Database ID และการตั้งค่าแคชในแอป
- อย่าดูจาก Socket Path อย่างเดียว - Path อาจยังแสดงอยู่แม้ Redis ปิดแล้ว ให้ยึดสถานะในกล่องสถานะ เป็นหลัก
หลังเปิดหรือปิด Redis ให้ทดสอบหน้าเว็บและระบบหลังบ้านทันที หากเว็บมี Error ให้เปิด Redis กลับก่อน แล้วค่อยตรวจ Socket Path, Database ID และค่าของปลั๊กอินหรือแอปทีละจุดครับ
ต้องการสอบถามข้อมูลเพิ่มเติม?
สามารถแอดไลน์คุยกันก่อนได้ที่ line: @PhalconHost