บทสารบัญ

Plugin Redis Object Cache จับเอา Redis มาทำ Cache

ต่อยอดบทความเก่าที่ผมเคยพูดถึง 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 หน้าตาก่อนการใช้งานจะเป็นแบบนี้

Redis Object Cache
Redis Object Cache

ให้กดปุ่ม สีน้ำเงิน เพื่อ Enable Redis Cache นะครับ หลังจาก Enable จะได้หน้าตาแบบนี้

Redis Object Cache
Redis Object Cache

เราสามารถ 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

หมวดหมู่ PHP

WP Query คลาสสำคัญสำหรับการคิวรี่บนเวิร์ดเพลส

wp query – การทำเว็บไซต์ด้วยเวิร์ดเพลส จำเป็นต้องดึงข้อมูล มาดูการดึงข้อมูลด้วย wp_query จำเป็นต้องใช้แน่นอน เนื้อหาแน่น รวมการใช้ wp query ทุกรูปแบบครับ

How to uses Yoast SEO แบบละเอียดยิบ บทที่ 2

บทที่ 2 แนะนำวิธีการใช้งานปลั๊กอิน uses Yoast SEO แบบละเอียดยิบเหมือนเดิม แนะนำการใช้ในระบบหลังบ้าน ทั้งการดู SEO Readability และ Social จบที่เดียวเลยครับ