วิธีการตั้งค่าและกำหนดค่าแคช Redis บน WordPress

Rifat บทช่วยสอน WordPress Sep 19, 2023

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

ในกระบวนการสร้างเว็บไซต์ที่ขับเคลื่อนโดย WordPress การผสมผสานธีมและปลั๊กอินเป็นเรื่องปกติในการปรับแต่งคุณลักษณะของเนื้อหาและความสวยงามของภาพ สิ่งนี้อำนวยความสะดวกในการเพิ่มฟังก์ชันการทำงานของเว็บไซต์อย่างต่อเนื่องผ่านองค์ประกอบเสริม รวมถึงส่วนขยายของบุคคลที่สาม เช่น SEO และการวิเคราะห์ การพึ่งพาซึ่งกันและกันของธีมและปลั๊กอินเหล่านี้ค้นหาพื้นที่เก็บข้อมูลภายในฐานข้อมูล MySQL ที่ทำหน้าที่เป็นโฮสต์สำหรับเนื้อหาของเว็บเพจ

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

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

สร้างเว็บไซต์ที่น่าทึ่ง

ด้วย Elementor ตัวสร้างหน้าฟรีที่ดีที่สุด

เริ่มเลย

Redis ทำงานอย่างไร

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

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

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

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

ทำไมต้องรวม Redis ด้วย WordPress

การเปิดใช้งาน Redis Cache ภายในการติดตั้ง WordPress Core ของคุณทำให้ได้เปรียบในการเร่งการจัดส่งเนื้อหาไปยังไคลเอนต์ เมื่อพิจารณาจากการใช้งานการค้นหาคิวรี MySQL อย่างกว้างขวางของ WordPress ประสิทธิภาพที่ลดลงจึงปรากฏชัดเจนในระหว่างอินสแตนซ์ที่มีการรับส่งข้อมูลสูง

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

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

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

ข้อกำหนดเบื้องต้นสำหรับงาน

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

การติดตั้ง WordPress ด้วยเซิร์ฟเวอร์ AWS EC2

ภายในคู่มือการสอนนี้ ฉันได้สร้างการติดตั้ง WordPress โดยใช้แพลตฟอร์ม Amazon Web Services (AWS) ด้านล่างนี้เป็นคำแนะนำขั้นตอนที่กระชับซึ่งอธิบายกระบวนการสำหรับการกำหนดค่า ในตอนแรก จำเป็นต้องยืนยันการครอบครองบัญชี AWS ที่ใช้งานอยู่ก่อน เป็นที่น่าสังเกตว่าบัญชี Free Tier นั้นเพียงพอสำหรับวัตถุประสงค์ของการยกตัวอย่างนี้

ดำเนินการเข้าถึงคอนโซล AWS และไปที่บริการ Amazon Elastic Compute Cloud (EC2) ซึ่งจะส่งผลต่อการเปิดตัวอินสแตนซ์เสมือนในภายหลัง หลังจากนั้น ภายในบริเวณ AWS Marketplace จะทำการค้นหาแอปพลิเคชัน WordPress อย่างขยันขันแข็ง ควรเน้นย้ำว่าการกำหนดค่าปัจจุบันยังคงมีสิทธิ์สำหรับหมวดหมู่ Free Tier ดังนั้น ให้เลือกการทำซ้ำแพ็คเกจ Bitnami ของ WordPress ซึ่งทำงานบนสถาปัตยกรรม Apache HTTP Server

เลือกประเภทอินสแตนซ์ AWS ที่เหมาะสม สำหรับสถานการณ์เฉพาะนี้ เลือกใช้ประเภทอินสแตนซ์ t2 micro ซึ่งมีคุณสมบัติตรงตามสิทธิ์ Free Tier จากนั้น ให้ไปที่ปุ่ม "ตรวจสอบการเปิดตัว" และเมื่อได้รับการยืนยันแล้ว ให้ดำเนินการเปิดใช้อินสแตนซ์

สร้างคู่คีย์ใหม่เพื่อสร้างการเชื่อมต่อที่ปลอดภัยระหว่างเซิร์ฟเวอร์นี้และคอมพิวเตอร์ในระบบ ตรวจสอบให้แน่ใจว่าคู่คีย์ที่ดาวน์โหลดซึ่งมาจากกระบวนการนี้ยังคงอยู่ก่อนที่จะเริ่มอินสแตนซ์

ใช้ความอดทนในขณะที่ AWS เริ่มต้นและเริ่มการเปิดตัวอินสแตนซ์ หากต้องการเข้าสู่อินสแตนซ์ที่เปิดใช้งานแล้ว เพียงคลิกที่ตัวระบุการเปิดใช้งานที่ให้ไว้ตามที่ระบุไว้ด้านล่าง

เมื่อยืนยันสถานะการทำงานของอินสแตนซ์และการกำหนดค่า WordPress ที่สำเร็จแล้ว ที่อยู่ IP ที่กำหนดก็จะปรากฏชัดเจน หากต้องการเข้าถึงบล็อก WordPress ที่เพิ่งสร้างใหม่ เพียงป้อนที่อยู่ IPv4 สาธารณะที่กำหนดลงในเว็บเบราว์เซอร์ สำหรับสภาพแวดล้อมการใช้งานจริง การใช้ชื่อโดเมนของคุณโดยตรงก็เพียงพอแล้ว

การเข้าถึงเซิร์ฟเวอร์โดยใช้ PuTTY

เริ่มต้นด้วยการจัดหาแอปพลิเคชัน PuTTY ซึ่งเป็นไคลเอนต์โอเพ่นซอร์สที่อำนวยความสะดวกให้กับ Secure Shell (SSH) และฟังก์ชันเทลเน็ตบนแพลตฟอร์ม Windows หลังจากการซื้อกิจการ ให้ดำเนินการ ติดตั้ง PuTTY บนคอมพิวเตอร์ของคุณ

เมื่อติดตั้ง PuTTY สำเร็จ ให้ค้นหายูทิลิตี้ PuTTYgen ภายในไดเร็กทอรีของคอมพิวเตอร์ของคุณ และเริ่มการเปิดตัว ขั้นตอนนี้จำเป็นต้องแปลงคู่คีย์ที่สร้างไว้ก่อนหน้านี้ให้เป็นไฟล์คีย์สาธารณะ-ส่วนตัว ภายในอินเทอร์เฟซ PuTTYgen ให้โหลดคีย์ที่กำหนด เริ่มต้นกระบวนการสร้างคีย์ และเก็บรักษาคีย์ส่วนตัวที่สร้างขึ้นในภายหลัง

หลังจากดำเนินการเหล่านี้ ให้เริ่มต้นแอปพลิเคชัน PuTTY และป้อนชื่อโฮสต์ของเซิร์ฟเวอร์หรือชื่อโดเมนที่เกี่ยวข้อง นำทางผ่านอินเทอร์เฟซไปยังส่วน 'เซสชัน' และระบุที่อยู่ IP หรือชื่อโดเมนที่เกี่ยวข้อง ควรกำหนดค่าไว้

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

เมื่อการเชื่อมต่อสำเร็จ หน้าจอเทอร์มินัลจะแสดงขึ้นมา ป้อน 'bitnami' เป็นข้อมูลรับรองการเข้าสู่ระบบ เป็นที่น่าสังเกตว่า 'bitnami' เป็นชื่อผู้ใช้เริ่มต้นที่กำหนดระหว่างการติดตั้ง WordPress หากมีการดำเนินการแก้ไขชื่อผู้ใช้ ให้ป้อนชื่อผู้ใช้ที่แก้ไขตามนั้น อินเทอร์เฟซเทอร์มินัลนี้มีแพลตฟอร์มแบบโต้ตอบเพื่อแนะนำไลบรารีและส่วนขยายเพิ่มเติมเพื่อปรับปรุงการทำงานของเซิร์ฟเวอร์ WordPress

การเพิ่ม Redis ไปยังเซิร์ฟเวอร์รูท

ขณะนี้ WordPress กำลังทำงานบนเซิร์ฟเวอร์รากเดียวกัน จะต้องเพิ่ม Redis เรียกใช้คำสั่งต่อไปนี้บนเทอร์มินัล PuTTY ที่เราเพิ่งเข้าสู่ระบบเพื่อทำสิ่งนี้ให้สำเร็จ

sudo apt install redis

ด้วยเหตุนี้ Redis จะถูกติดตั้งบนที่อยู่ IP นี้ คุณสามารถรีสตาร์ทได้โดยใช้ sudo systemctl restart redis.service เพื่อให้ทุกอย่างกำหนดค่าได้ มาดำเนินการเพื่อดูว่าเซิร์ฟเวอร์ Redis ทำงานและทำงานอยู่หรือไม่

sudo systemctl status redis

Redis ได้รับการกำหนดค่าอย่างถูกต้องบนเซิร์ฟเวอร์ของเรา คุณจะสังเกตเห็นว่าเรายังไม่มีคีย์แคช Redis ที่ลงทะเบียนโดยการรัน redis-cli และคำสั่ง keys *

ตอนนี้ทุกอย่างได้รับการตั้งค่าแล้ว เราต้องไปที่ WordPress wp-admin และเพิ่มปลั๊กอิน Redis ด้วยเหตุนี้คุณเพียงแค่ต้องป้อนที่อยู่ IP หรือชื่อโดเมนและ wp-admin ของคุณดังที่แสดงด้านล่าง

your-ip-address/wp-admin

ไปที่อินสแตนซ์ที่ทำงานอยู่ของคุณบน AWS คลิกขวา "ตรวจสอบและแก้ไขปัญหา" จากนั้นป้อนข้อมูลเข้าสู่ระบบ wp-admin กรุณาบันทึกระบบ ในการเข้าถึง wp-admin คุณจะได้รับข้อมูลการเข้าสู่ระบบ Bitnami WordPress เริ่มต้นของคุณ และคุณมาถึงแดชบอร์ดผู้ดูแลระบบแล้ว

เพิ่ม Redis ลงใน WordPress


ก่อนที่จะกำหนดค่า Redis จำเป็นต้องดำเนินการติดตั้งและเปิดใช้ งานปลั๊กอิน Query Monitor ก่อน

ปลั๊กอิน Query Monitor อำนวยความสะดวกในการดีบักในด้านต่างๆ รวมถึงการสืบค้นฐานข้อมูล ข้อผิดพลาด PHP ฮุคและการดำเนินการ บล็อกภายในตัวแก้ไขบล็อก สคริปต์และสไตล์ชีทที่เข้าคิว การเรียก HTTP API และอื่นๆ นอกจากนี้ยังมีความสามารถในการแสดงจำนวนการสืบค้นฐานข้อมูลที่ครอบคลุมซึ่งจัดโดยปลั๊กอินแต่ละตัว

หากต้องการเริ่มต้นกระบวนการนี้ ให้ไปที่หน้าแรกของเว็บไซต์ของคุณและเข้าถึงเมนู Query Monitor

เมื่อทำเช่นนั้น แดชบอร์ด Query Monitor จะเปิดตัว

จากนั้น ให้ความสนใจของคุณไปที่ตัวชี้วัดที่ได้รับจากหน้านี้ โดยเฉพาะอย่างยิ่ง นี่คือหน้าเว็บที่ค่อนข้างไม่ซับซ้อน สังเกตได้โดยมีจำนวนการสืบค้นฐานข้อมูลสะสม 23 รายการ ซึ่งดำเนินการภายในเวลาเพียง 0.0013 มิลลิวินาที

เมื่อขั้นตอนเบื้องต้นนี้เสร็จสิ้นแล้ว ให้ดำเนินการแนะนำปลั๊กอินใหม่ต่อไป เพื่อเป็นตัวอย่าง ให้ค้นหา "Redis" และเลือกปลั๊กอิน " Redis Object Cache " ที่เฉพาะเจาะจง

หลังจากเลือกแล้ว ให้ดำเนินการติดตั้งและเปิดใช้งานปลั๊กอินต่อไป ดำเนินการต่อไปยังส่วนการตั้งค่า Redis ภายในเมนูแดชบอร์ดของคุณ ณ จุดนี้ จำเป็นต้องเปิดใช้งานคุณลักษณะ Object Cache

เมื่อทำตามคำแนะนำเหล่านี้ Redis จะได้รับการกำหนดค่าโดยใช้การตั้งค่าเริ่มต้น

การยืนยัน

ในบริบทของการเพิ่มประสิทธิภาพเว็บไซต์ เมื่อเข้าถึงบล็อกบนเว็บไซต์ของคุณ เช่น บล็อก WordPress "hello world" เริ่มต้น ผลลัพธ์ของคำขอนี้จะถูกจัดเก็บไว้ในที่เก็บข้อมูล Redis

จากนั้น ไปที่เทอร์มินัลแล้วเปิด Redis Command Line Interface (CLI) โดยใช้คำสั่ง " redis-cli " พร้อมกับคีย์ที่ระบุ (แสดงเป็น *) ในช่วงหัวเลี้ยวหัวต่อนี้ คุณจะสังเกตเห็นว่า Redis ได้บันทึกคีย์ WordPress (wp) ใหม่ไว้อย่างถูกต้อง

การกำหนดค่านี้จะทำให้การตั้งค่า Redis เพื่อการแคชภายในสภาพแวดล้อม WordPress เสร็จสมบูรณ์

หากต้องการดูผลกระทบ ให้ดำเนินการรีเฟรชหน้าแรกที่คุณโหลดครั้งแรก ขณะใช้งาน Query Monitor ไปพร้อมๆ กัน

ผลการสังเกตเผยให้เห็นถึงการปรับแต่งที่โดดเด่น: ตอนนี้หน้าเว็บโหลดด้วยการสืบค้นฐานข้อมูลเพียงสามรายการ โดยแต่ละคำค้นหาเสร็จสิ้นภายในเวลา 0.0003 มิลลิวินาทีที่รวดเร็วเป็นพิเศษ การเพิ่มประสิทธิภาพนี้ช่วยแบ่งเบาภาระสะสมของเวลาในการประมวลผลการสืบค้นฐานข้อมูลของเราได้อย่างมาก การสืบค้นที่กล่าวมาข้างต้นจะถูกจัดเก็บไว้ในหน่วยความจำอย่างเป็นระบบ ดังนั้นจึงลดความถี่ของการโทรโดยตรงไปยังฐานข้อมูล MySQL การเรียบเรียงนี้มีส่วนช่วยในการปรับปรุงการตอบสนองของแบ็กเอนด์ในการตอบสนองคำขอที่เข้ามา

ห่อ

นี่จะเป็นสิ่งสำคัญในการทำให้เว็บไซต์ของคุณเร็วขึ้นหากคุณจัดการเว็บไซต์ขนาดใหญ่เช่น woo-commerce นอกจากนี้ ด้วยการแคชกระบวนการที่ต้องใช้ฐานข้อมูลมาก เว็บไซต์จะมีความยืดหยุ่นมากขึ้น

แม้ว่าจะมีคนสั่งซื้อหลายคน พวกเขายังคงใช้แคชเพื่อดึงข้อมูล จะใช้ทรัพยากรน้อยลง และประสบการณ์แบ็กเอนด์จะเร็วขึ้น

Redis แคชวัตถุและการสืบค้นฐานข้อมูลเท่านั้น ซึ่งหมายความว่าคุณสามารถใช้ปลั๊กอินแคชอื่นๆ เพื่อแคชหน้าเว็บของคุณและเพิ่มความเร็วให้กับเว็บไซต์ของคุณได้ เช่น Cache Enabler และ WP Cloudflare

Divi WordPress Theme