ต่อยอดบทความเก่าที่ผมเคยพูดถึง Redis นะครับ จากบทความนั้นจะเป็นการแนะนำการใช้งาน Redis ซึ่งอย่างที่เคยบอกไป Redis จะยืนอยู่ที่ Memory (Ram) ซึ่งทำให้ตัวมันเองมีความเร็วมากๆ อยู่แล้วยุคนี้ Ram ก็มีเยอะผมเลยอยากจะต่อยอดด้วยบทความนี้
จับ Redis มาทำ Object Cache ซะ
สิ่งที่ต้องมี
อันดับแรกเลยคือ Host/Server ของท่านต้องมี Redis-cli ติดตั้งอยู่พร้อมใช้งาน ถ้าเป็น VPS ติดตั้งผ่านบทความนี้ได้เลยครับ “Redis คืออะไร Database เร็วๆ ของดีใช้ง่าย รู้จักแล้วจะชอบเอง” ถ้าเป็นประเภทแชร์โฮสลองติดต่อสอบถาม Host ของท่านดูนะครับว่าสามารถใช้ได้ไหม
การติดตั้ง
ติดตั้งผ่านระบบหลังบ้านได้เลย ตัวปลั๊กอินจะชื่อว่า “Redis Object Cache” หรือถ้าใครไม่สามารถ ดาวน์โหลดผ่านหลังบ้านได้ ให้ดาวน์โหลดมาเป็น .zip แล้วก็ไปแตกไฟล์ไว้ที่ Folder Plugin เอานะครับ
การตั้งค่า
หลังจากติดตั้ง เมนูการตั้งค่าจะอยู่ที่ Setting -> Redis หน้าตาก่อนการใช้งานจะเป็นแบบนี้
ให้กดปุ่ม สีน้ำเงิน เพื่อ Enable Redis Cache นะครับ หลังจาก Enable จะได้หน้าตาแบบนี้
เราสามารถ Flush Cache ได้ Disable ได้จากเมนูนี้เลยนะครับ หากว่าเราทำการติดตั้งจนได้แบบตัวอย่างในรูปภาพแล้วหมายถึงการติดตั้งเสร็จเรียบร้อยแล้วนะครับ ผมรับรองว่า เร็วขึ้นแน่นอน
หากต้องการตั้งค่าเพิ่มเติม
ปกติ Redis จะวิ่งอยู่ที่ Port 6379 database 0 อยู่แล้วนะครับ แต่เราสามารถตั้งค่าเพิ่มเติมให้มันได้ ส่วนการตั้งค่า
เรดิสการเชื่อมต่อ (Redis Connection) หลักๆ จะมีดังนี้
- WP_REDIS_CLIENT ระบุ Client โดยรองรับที่ HHVM, PECL, Predis
- WP_REDIS_SCHEME ค่าเริ่มต้น TCP
- WP_REDIS_HOST ค่าเริ่มต้น เป็น 127.0.0.1
- WP_REDIS_PORT ค่าเริ่มต้น 6379
- WP_REDIS_PATH ค่าเริ่มต้นเป็น ว่าง
- WP_REDIS_DATABASE ค่าเริ่มต้น 0
- WP_REDIS_PASSWORD ค่าเริ่มต้น ว่าง
ตัวแปรการตั้งค่า
- WP_CACHE_KEY_SALT ค่าเริ่มต้น ว่าง
- WP_REDIS_SELECTIVE_FLUSH ค่าเริ่มต้น ว่าง
- WP_REDIS_MAXTTL ค่าเริ่มต้น ว่าง
- WP_REDIS_GLOBAL_GROUPS ค่าเริ่มต้น [‘blog-details’, ‘blog-id-cache’, ‘blog-lookup’, ‘global-posts’, ‘networks’, ‘rss’, ‘sites’, ‘site-details’, ‘site-lookup’, ‘site-options’, ‘site-transient’, ‘users’, ‘useremail’, ‘userlogins’, ‘usermeta’, ‘user_meta’, ‘userslugs’]
- WP_REDIS_IGNORED_GROUPS ค่าเริ่มต้น[‘counts’, ‘plugins’]
- WP_REDIS_DISABLED ค่าเริ่มต้น ว่าง
ให้เข้าไปตั้งค่าที่ wp-config.php ก็ได้ครับ
การตั้งค่า Replication (Master-Slave)
define( 'WP_REDIS_SERVERS', [
'tcp://127.0.0.1:6379?database=5&alias=master',
'tcp://127.0.0.2:6379?database=5&alias=slave-01',
]);
Replication (Redis Sentinel):
define( 'WP_REDIS_CLIENT', 'predis' );
define( 'WP_REDIS_SENTINEL', 'mymaster' );
define( 'WP_REDIS_SERVERS', [
'tcp://127.0.0.1:5380',
'tcp://127.0.0.2:5381',
'tcp://127.0.0.3:5382',
] );
Sharding
define( 'WP_REDIS_SHARDS', [
'tcp://127.0.0.1:6379?database=10&alias=shard-01',
'tcp://127.0.0.2:6379?database=10&alias=shard-02',
'tcp://127.0.0.3:6379?database=10&alias=shard-03',
] );
Clustering (Redis 3.0+)
define( 'WP_REDIS_CLUSTER', [
'tcp://127.0.0.1:6379?database=15&alias=node-01',
'tcp://127.0.0.2:6379?database=15&alias=node-02',
]);
WP-CLI Commands ส่วนการเช็คสถานะผ่าน WP-CLI ตัว ปลั๊กอินนี้ก็มีหาด้วยโดยแต่หล่ะคำสั่งดูได้ตามนี้
- wp redis status เช๊ค status
- wp redis enable สั่งให้ปลั๊กอินทำงาน
- wp redis disable สั่งให้ปลั๊กอินหยุดทำงาน
- wp redis update-dropin สั่งให้ปลั๊กอิน update