0Pricing
PHP Academy · บทเรียน

Redis ในฐานะแบ็กเอนด์แคชของ PHP

เชื่อมต่อ PHP กับ Redis และแคชผลลัพธ์คำสืบค้นรวมถึงข้อมูลที่คำนวณแล้ว

Redis ในฐานะแบ็กเอนด์แคชของ PHP เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

Redis คืออะไร

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

การติดตั้งส่วนขยาย Redis สำหรับ PHP

ติดตั้งส่วนขยาย C phpredis (เร็วที่สุด) หรือไลบรารี PHP ล้วน predis

# Predis via Composer:
$ composer require predis/predis

# Or install phpredis extension:
$ pecl install redis

การเชื่อมต่อ Redis (Predis)

สร้างไคลเอ็นต์ Predis และเชื่อมต่อกับเซิร์ฟเวอร์ Redis

<?php
require "vendor/autoload.php";

$redis = new \Predis\Client([
    "scheme" => "tcp",
    "host"   => "127.0.0.1",
    "port"   => 6379,
]);

การดำเนินการแคชพื้นฐาน

ตั้งค่า อ่าน และลบรายการแคช

<?php
// Set with TTL (seconds):
$redis->setex("user:42", 300, json_encode($user));

// Get:
$cached = $redis->get("user:42");
$user   = $cached ? json_decode($cached, true) : fetchFromDB(42);

// Delete:
$redis->del("user:42");

รูปแบบแคชด้วย Redis

นำรูปแบบแคชแบบอ่านแล้วค่อยเติมมาใช้ใน PHP:

<?php
function getUser(int $id): array {
    global $redis;
    $key    = "user:$id";
    $cached = $redis->get($key);
    if ($cached !== null) return json_decode($cached, true);
    $user = fetchUserFromDB($id);
    $redis->setex($key, 3600, json_encode($user));
    return $user;
}

การผสานรวม Redis กับ Laravel

กำหนดค่าใน .env และใช้ฟาซาดแคช โดยไม่ต้องสร้างไคลเอ็นต์ Predis ด้วยตนเอง

# .env
CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1

// Usage:
Cache::put("key", $value, 600);
$value = Cache::get("key");

การเพิ่ม/ลดค่าแบบอะตอมิก

ใช้การดำเนินการแบบอะตอมิกของ Redis สำหรับตัวนับ (การใช้งานส่วนต่อประสานโปรแกรมประยุกต์ การจำกัดอัตรา)

<?php
$hits = $redis->incr("page:home:hits");
$redis->expire("page:home:hits", 86400); // reset daily

รายการ Redis สำหรับคิว

รายการ Redis เป็นระบบเบื้องหลังสำหรับไดรเวอร์คิว Redis ของ Laravel งานจะถูกเพิ่มเข้าและนำออกจากรายการแบบอะตอมิก

การเผยแพร่/สมัครรับของ Redis

Redis รองรับการส่งข้อความแบบเผยแพร่/สมัครรับสำหรับฟีเจอร์แบบเรียลไทม์ (การกระจายเหตุการณ์ไปยังไคลเอ็นต์ WebSocket ที่เชื่อมต่ออยู่)

คลัสเตอร์ Redis

เพื่อให้มีความพร้อมใช้งานสูงและรองรับการขยายตามแนวนอน คลัสเตอร์ Redis จะแจกจ่ายข้อมูลไปยังโหนดหลายตัว Laravel รองรับการกำหนดค่าคลัสเตอร์ในตัว

การตรวจสอบ Redis

ใช้ redis-cli monitor เพื่อเฝ้าดูคำสั่งแบบเรียลไทม์ หรือใช้ Laravel Horizon (สำหรับตรวจสอบคิว) ติดตามการใช้หน่วยความจำด้วย redis-cli info memory

สรุป

Redis เป็นระบบแคช PHP ที่ได้รับความนิยมสูง เนื่องจากเร็ว เก็บข้อมูลถาวรได้ (เลือกใช้ได้) และมีโครงสร้างข้อมูลหลากหลาย ใน Laravel ให้ตั้งค่า CACHE_DRIVER=redis และใช้ฟาซาดแคช หากต้องการควบคุมอย่างละเอียด ให้ใช้ Predis หรือ phpredis โดยตรง

ตรวจสอบความเข้าใจอย่างรวดเร็ว

คำสั่ง Redis ใดใช้ตั้งค่าคีย์พร้อมกำหนดเวลาหมดอายุเป็นวินาที

คำถามที่พบบ่อย

บทเรียน “Redis ในฐานะแบ็กเอนด์แคชของ PHP” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Redis ในฐานะแบ็กเอนด์แคชของ PHP” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Redis ในฐานะแบ็กเอนด์แคชของ PHP”

เชื่อมต่อ PHP กับ Redis และแคชผลลัพธ์คำสืบค้นรวมถึงข้อมูลที่คำนวณแล้ว คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “Redis ในฐานะแบ็กเอนด์แคชของ PHP” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุใดการแคชจึงสำคัญใน PHP
  2. Redis ในฐานะแบ็กเอนด์แคชของ PHP
  3. Memcached สำหรับการแคชเซสชันและออบเจ็กต์
  4. รูปแบบการทำให้แคชไม่ถูกต้อง
← กลับไปที่ PHP Academy