HTTP เป็นโปรโตคอลที่ไม่มีสถานะ (stateless) หมายความว่าทุกคำขอที่ส่งไปยังเซิร์ฟเวอร์เป็นอิสระต่อกันและไม่เก็บข้อมูลจากคำขอก่อนหน้า สิ่งนี้อาจเป็นความท้าทายเมื่อสร้างเว็บแอปพลิเคชันแบบไดนามิกที่ต้องจัดเก็บข้อมูลเฉพาะผู้ใช้ เช่น ข้อมูลรับรองการตรวจสอบตัวตน หรือการตั้งค่าของผู้ใช้ ข้ามหลายคำขอ เพื่อแก้ข้อจำกัดนี้ เว็บแอปพลิเคชันจึงพึ่งพา sessions เพื่อจัดเก็บและดึงข้อมูลระหว่างคำขอ
Laravel หนึ่งในเฟรมเวิร์ก PHP ยอดนิยม ให้ระบบจัดการ session ที่ยืดหยุ่นและแข็งแกร่งเพื่อตอบสนองความต้องการที่มีสถานะดังกล่าว
ในขณะที่ session driver เริ่มต้นของ Laravel ใช้ฐานข้อมูล sqlite แต่ก็รองรับ session drivers หลายตัว - หนึ่งในที่ที่ทรงพลังและขยายได้มากที่สุดคือ Redis
ในบทความนี้ เราจะสำรวจวิธีกำหนดค่า Redis เป็น session driver ใน Laravel เพื่อเพิ่มประสิทธิภาพและความสามารถในการขยาย ขณะแก้ไขปัญหาการไม่มีสถานะของ HTTP
การสร้างฐานข้อมูล
Upstash Redis เป็นบริการ Redis-compatible ที่จัดการเต็มรูปแบบแบบ serverless ให้คุณตั้งค่าฐานข้อมูลได้ในไม่กี่วินาที ด้วยระดับฟรีที่หลากหลาย คุณสามารถสำรวจคุณสมบัติได้โดยไม่มีข้อผูกมัด
คุณสามารถสมัครบัญชีฟรีบน Upstash และสร้างฐานข้อมูลที่เข้ากันได้กับ Redis

การกำหนดค่า Laravel
หลังจากสร้างฐานข้อมูล Redis แล้ว คุณจะต้องกำหนดค่า Laravel ให้ใช้เป็น session driver
คุณสามารถดึงการกำหนดค่าไฟล์ .env จากส่วน Connect to your database บน Upstash Console

จะมีลักษณะประมาณนี้:
REDIS_HOST="tls://nearby-lioness-11228.upstash.io" REDIS_PORT=6379 REDIS_PASSWORD="********" # To use Upstash Redis as a cache store, uncomment the following two lines: #CACHE_STORE="redis" #REDIS_CACHE_DB="0" # To use Upstash Redis as the session driver, uncomment the following line: #SESSION_DRIVER="redis" # To use Upstash Redis as the queue connection, uncomment the following line: #QUEUE_CONNECTION="redis"
การกำหนดค่าของเรเกือบพร้อมแล้ว เราแค่ต้อง uncomment ตัวแปร SESSION_DRIVER ในไฟล์ .env ของเรา และทุกอย่างควรทำงานได้
REDIS_HOST="tls://nearby-lioness-11228.upstash.io" REDIS_PORT=6379 REDIS_PASSWORD="********" # To use Upstash Redis as a cache store, uncomment the following two lines: #CACHE_STORE="redis" #REDIS_CACHE_DB="0" # To use Upstash Redis as the session driver, uncomment the following line: SESSION_DRIVER="redis" # To use Upstash Redis as the queue connection, uncomment the following line: #QUEUE_CONNECTION="redis"
เย้ เราเสร็จแล้ว! ตอนนี้เมื่อคุณรันแอปพลิเคชัน Laravel จะใช้ Upstash Redis เป็น session driver
สรุป
บทความนี้เป็นบทความสั้น แต่สิ่งนั้นพูดถึงว่าการผสานรวม Laravel และ Upstash Redis เป็น session driver ของคุณนั้นง่ายแค่ไหน เราหวังว่าคุณจะพบว่าบทความนี้มีประโยชน์ และให้แรงบันดาลใจให้คุณสำรวจเพิ่มเติมเกี่ยวกับ Redis และ Laravel
หากคุณมีคำถามหรือข้อเสนอแนะ โปรดอย่าลังเลที่จะติดต่อเราบน X