เปิดใช้ Redis ใน Laravel

ใน Laravel, Redis เป็นหนึ่งในตัวเลือกการจัดเก็บแคช (cache) และเซสชัน (session) ที่ได้รับความนิยมเนื่องจากมีข้อดีมากมาย เช่น ความเร็วสูง,การจัดเก็บแคชแบบยืดหยุ่น,การจัดเก็บเซสชันที่ปลอดภัย,การใช้งานอย่างสมบูรณ์แบบใน Laravel,การเปิดเผยข้อมูลที่มีประโยชน์ ดังนั้น Redis เป็นเครื่องมือที่มีประโยชน์ในการพัฒนาโปรเจกต์ Laravel โดยเฉพาะในกรณีที่ความเร็วและประสิทธิภาพในการจัดเก็บแคชและเซสชันเป็นสิ่งที่สำคัญสำหรับโปรเจกต์ มาดูวิธีเปิดใช้กัน ว่าเปิดใช้งานได้อย่างไรสำหรับ Laravel


เช็คว่าคุณได้ติดตั้ง Redis และ PHP Redis Extension ให้เรียบร้อยแล้วหรือยัง โดยใช้คำสั่ง

php -m | grep redis 

ถ้าไม่มีการแสดงผลอะไร แสดงว่ายังไม่ได้ติดตั้ง Redis Extension ให้ดาวน์โหลดและติดตั้ง Redis Extension สำหรับ PHP


สำหรับ Linux ใช้คำสั่งติดตั้ง

sudo apt-get install php-redis 


สำหรับ macOS ใช้ Homebrew ด้วยคำสั่ง

brew install php-redis 


  • เปิดไฟล์ .env ในโปรเจกต์ Laravel

ตรวจสอบค่าของตัวแปร CACHE_DRIVER และ SESSION_DRIVER ในไฟล์ .env และตั้งค่าให้เป็น redis หากยังไม่ได้ตั้งค่า

BROADCAST_DRIVER=log
CACHE_DRIVER=redis
QUEUE_CONNECTION=sync
SESSION_DRIVER=redis
SESSION_LIFETIME=120
  • เพิ่มหรือแก้ไขค่าตัวแปร REDIS_HOST, REDIS_PASSWORD, REDIS_PORT ในไฟล์ .env ให้สอดคล้องกับการตั้งค่า Redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
  • บันทึกและปิดไฟล์ .env
  • เปิดไฟล์ config/cache.php
'default' => env('CACHE_DRIVER', 'redis'),
  • ตรวจสอบค่า stores ในไฟล์ cache.php และตรวจสอบว่า redis store ถูกกำหนดให้ใช้งานหรือไม่
  • เปิดไฟล์ config/session.php
  • ตรวจสอบค่า driver ในไฟล์ session.php และตั้งค่าให้เป็น redis
'driver' => env('SESSION_DRIVER', 'redis'),
  • บันทึกและปิดไฟล์ session.php
  • ทดสอบโปรเจกต์ Laravel เพื่อให้แน่ใจว่า Redis ถูกกำหนดให้ใช้งานได้ถูกต้องแล้ว

ลองมอนิเตอร์ดูว่าขึ้นไหม ถ้าขึ้นเป็นอันจบ เดี๋ยวครั้งหน้ามาอธิบาย แบบลูกผสม Redis + Cache + Edge Cache TTL on cloudflare ให้กับ Laravel

Config Redis เพิ่มเติม

อ้างอิงจาก https://redis.io/docs/management/config-file/

สำหรับ cyberpanel แก้จาก path นี้ได้เลย

/etc/redis/redis.conf

maxmemory 100mb
maxmemory-policy allkeys-lru
maxmemory-samples 10
appendonly yes

and comment out

#save 900 1
#save 300 10
#save 60 10000



1
57