ข้ามไปยังเนื้อหาหลัก

แคชส่วนกลาง

Logto รองรับการใช้ Redis®1 เป็นแคชส่วนกลางสำหรับข้อมูลที่เป็นที่รู้จัก (well-known data) โดยการใช้แคชส่วนกลาง Logto สามารถเพิ่มความเร็วในการใช้งานของผู้ใช้ปลายทางได้อย่างมาก ด้วยการลดจำนวนการคิวรีฐานข้อมูลที่จำเป็นในการสร้างผลลัพธ์

โดยทั่วไป แคชสามารถเปิดเผยต่อสาธารณะได้ เนื่องจากออกแบบมาเพื่อข้อมูลที่เป็นที่รู้จักเท่านั้น ปัจจุบัน Logto ไม่ได้จัดเก็บข้อมูลใด ๆ ที่ต้องการการยืนยันตัวตน (Authentication) หรือการอนุญาต (Authorization)

บันทึก:

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

กำหนดค่าการเชื่อมต่อ

เพื่อเปิดใช้งานแคช คุณจะต้องมีอินสแตนซ์ Redis 6.0 ที่กำลังทำงานอยู่ สำหรับให้ Logto เชื่อมต่อและใช้งานแคช เพียงตั้งค่าตัวแปรสภาพแวดล้อม REDIS_URL เป็นสตริงการเชื่อมต่อ Redis ซึ่งควรเริ่มต้นด้วย โปรโตคอล "redis" (redis://) สำหรับการเชื่อมต่อแบบไม่ปลอดภัย หรือ โปรโตคอล "redis" (redis://) สำหรับการเชื่อมต่อผ่าน TLS

ตัวอย่างเช่น:

REDIS_URL=redis://your-redis-username:[email protected]:6380

โปรดทราบว่าส่วนใหญ่ของสตริงการเชื่อมต่อสามารถละเว้นได้ ดังตัวอย่างด้านล่าง ซึ่งประกอบสตริงการเชื่อมต่อโดยไม่มีชื่อผู้ใช้และพอร์ต โดยใช้โปรโตคอล "redis":

REDIS_URL=redis://:[email protected]

หากรหัสผ่านมีอักขระพิเศษ จำเป็นต้องเข้ารหัสแบบ URI:

# หากรหัสผ่านคือ "foo="
REDIS_URL=redis://:foo%[email protected]

ในกรณีที่ใช้ค่าดีฟอลต์ทั้งหมด คุณสามารถตั้งค่าตัวแปรเป็นค่าความจริง (truthy) เพื่อความสะดวก:

REDIS_URL=1 # หรือ "true", "yes"
บันทึก:

ไม่รองรับสตริง StackExchange.Redis

ตรวจสอบว่าแคชทำงานหรือไม่

เพื่อตรวจสอบว่าแคชเชื่อมต่ออย่างถูกต้องหรือไม่ คุณควรเห็นข้อความต่อไปนี้แสดงเมื่อ Logto เริ่มทำงาน:

[CACHE] Connected to Redis

นอกจากนี้ เมื่อมีการร้องขอที่เข้าแคช (เช่น การเข้าถึง GET /api/.well-known/phrases หลายครั้ง) จะมีข้อความต่อไปนี้ปรากฏในคอนโซล:

[CACHE] Well-known cache hit for ...

Footnotes

  1. Redis เป็นเครื่องหมายการค้าจดทะเบียนของ Redis Ltd. สิทธิ์ใด ๆ ที่เกี่ยวข้องเป็นของ Redis Ltd. การใช้งานโดย Silverhand มีวัตถุประสงค์เพื่อการอ้างอิงเท่านั้น และไม่ได้แสดงถึงการสนับสนุน รับรอง หรือความเกี่ยวข้องระหว่าง Redis และ Silverhand