中央快取
Logto 支援使用 Redis®1 作為知名資料的中央快取。透過使用中央快取,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]
在所有預設值都在使用的情況下,你可以將變數設置為一個真值以方便使用:
REDIS_URL=1 # 或 "true", "yes"
備註:
不支援 StackExchange.Redis 字串。
檢查快取是否正常運作
要檢查快取是否正確連接,當 Logto 啟動時,你應該會看到以下訊息:
[CACHE] Connected to Redis
此外,當請求命中快取時(例如,多次訪問 GET /api/.well-known/phrases
),控制台中會出現以下訊息:
[CACHE] Well-known cache hit for ...
Footnotes
-
Redis 是 Redis Ltd. 的註冊商標。任何相關權利均保留給 Redis Ltd. Silverhand 的任何使用僅為參考目的,並不表示 Redis 與 Silverhand 之間有任何贊助、認可或從屬關係。 ↩