Cache central
Logto prend en charge l'utilisation de Redis®1 comme cache central pour les données bien connues. En utilisant un cache central, Logto peut accélérer considérablement l'Expérience utilisateur en réduisant le nombre de requêtes à la base de données nécessaires pour générer une réponse.
En général, le cache peut être rendu public puisqu'il est conçu uniquement pour les données bien connues. À l'heure actuelle, Logto ne stocke aucune donnée nécessitant une Authentification ou une Autorisation.
Pour garantir les meilleures pratiques de sécurité, nous conseillons tout de même de limiter l'accès au cache.
Configurer la connexion
Pour activer le cache, vous aurez besoin d'une instance Redis 6.0 en cours d'exécution. Pour que Logto puisse se connecter et utiliser le cache, il suffit de définir la variable d'environnement REDIS_URL
sur la chaîne de connexion Redis, qui doit commencer par le protocole "redis" (redis://
) pour les connexions non sécurisées, ou le protocole "redis" (redis://
) pour la connexion via TLS.
Par exemple :
REDIS_URL=redis://your-redis-username:[email protected]:6380
Veuillez noter que la plupart des parties de la chaîne de connexion peuvent être omises, comme le montre l'exemple ci-dessous, qui compose une chaîne de connexion sans le nom d'utilisateur et le port, en utilisant le protocole "redis" :
REDIS_URL=redis://:[email protected]
Si le mot de passe contient des caractères spéciaux, il doit être encodé en URI :
# Si le mot de passe est "foo="
REDIS_URL=redis://:foo%[email protected]
Dans les cas où toutes les valeurs par défaut sont utilisées, vous pouvez définir la variable sur une valeur vraie pour plus de commodité :
REDIS_URL=1 # ou "true", "yes"
La chaîne StackExchange.Redis n'est pas prise en charge.
Vérifier si le cache fonctionne
Pour vérifier si le cache est correctement connecté, vous devriez voir le message suivant affiché lorsque Logto démarre :
[CACHE] Connected to Redis
De plus, lorsque la requête atteint le cache (par exemple, en accédant plusieurs fois à GET /api/.well-known/phrases
), le message suivant apparaîtra dans la console :
[CACHE] Well-known cache hit for ...
Footnotes
-
Redis est une marque déposée de Redis Ltd. Tous les droits y afférents sont réservés à Redis Ltd. Toute utilisation par Silverhand est à des fins de référence uniquement et n'indique aucun parrainage, approbation ou affiliation entre Redis et Silverhand. ↩