Zentraler Cache
Logto unterstützt die Verwendung von Redis®1 als zentralen Cache für bekannte Daten. Durch die Verwendung eines zentralen Caches kann Logto die Endbenutzererfahrung erheblich beschleunigen, indem die Anzahl der Datenbankabfragen, die zur Generierung einer Antwort erforderlich sind, reduziert wird.
Typischerweise kann der Cache öffentlich gemacht werden, da er nur für bekannte Daten ausgelegt ist. Derzeit speichert Logto keine Daten, die Authentifizierung oder Autorisierung erfordern.
Um die besten Sicherheitspraktiken zu gewährleisten, empfehlen wir dennoch, den Zugriff auf den Cache zu beschränken.
Konfiguration der Verbindung
Um den Cache zu aktivieren, benötigst du eine Redis 6.0-Instanz, die läuft. Damit Logto eine Verbindung herstellen und den Cache nutzen kann, setze einfach die Umgebungsvariable REDIS_URL
auf den Redis-Verbindungsstring, der mit dem "redis"-Protokoll (redis://
) für ungesicherte Verbindungen oder dem "redis"-Protokoll (redis://
) für Verbindungen über TLS beginnen sollte.
Zum Beispiel:
REDIS_URL=redis://your-redis-username:[email protected]:6380
Bitte beachte, dass die meisten Teile des Verbindungsstrings weggelassen werden können, wie im folgenden Beispiel gezeigt, das einen Verbindungsstring ohne Benutzername und Port unter Verwendung des "redis"-Protokolls erstellt:
REDIS_URL=redis://:[email protected]
Wenn das Passwort Sonderzeichen enthält, muss es URI-codiert werden:
# Wenn das Passwort "foo=" ist
REDIS_URL=redis://:foo%[email protected]
In Fällen, in denen alle Standardwerte verwendet werden, kannst du die Variable der Einfachheit halber auf einen wahrheitsgemäßen Wert setzen:
REDIS_URL=1 # oder "true", "yes"
Der StackExchange.Redis-String wird nicht unterstützt.
Überprüfen, ob der Cache funktioniert
Um zu überprüfen, ob der Cache ordnungsgemäß verbunden ist, solltest du die folgende Meldung sehen, wenn Logto startet:
[CACHE] Connected to Redis
Zusätzlich, wenn die Anfrage den Cache trifft (zum Beispiel durch mehrmaliges Zugreifen auf GET /api/.well-known/phrases
), erscheint die folgende Meldung in der Konsole:
[CACHE] Well-known cache hit for ...
Footnotes
-
Redis ist eine eingetragene Marke von Redis Ltd. Alle Rechte daran sind Redis Ltd. vorbehalten. Jegliche Verwendung durch Silverhand dient nur zu Referenzzwecken und zeigt keine Unterstützung, Befürwortung oder Verbindung zwischen Redis und Silverhand an. ↩