Saltar al contenido principal

Caché central

Logto admite el uso de Redis®1 como caché central para datos bien conocidos. Al utilizar una caché central, Logto puede acelerar significativamente la experiencia del usuario final al reducir el número de consultas a la base de datos necesarias para generar una respuesta.

Normalmente, la caché puede hacerse pública ya que está diseñada solo para datos bien conocidos. En la actualidad, Logto no almacena ningún dato que requiera autenticación o autorización.

nota

Para garantizar las mejores prácticas de seguridad, aún aconsejamos limitar el acceso a la caché.

Configurar la conexión

Para habilitar la caché, necesitarás una instancia de Redis 6.0 que esté en funcionamiento. Para que Logto se conecte y use la caché, simplemente configura la variable de entorno REDIS_URL con la cadena de conexión de Redis, que debe comenzar con el protocolo "redis" (redis://) para conexiones no seguras, o el protocolo "redis" (redis://) para conexiones sobre TLS.

Por ejemplo:

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

Ten en cuenta que la mayoría de las partes de la cadena de conexión pueden omitirse, como se muestra en el ejemplo a continuación, que compone una cadena de conexión sin el nombre de usuario y el puerto, utilizando el protocolo "redis":

REDIS_URL=redis://:[email protected]

Si la contraseña contiene caracteres especiales, necesita ser codificada en URI:

# Si la contraseña es "foo="
REDIS_URL=redis://:foo%[email protected]

En casos donde se utilizan todos los valores predeterminados, puedes configurar la variable a un valor verdadero para mayor comodidad:

REDIS_URL=1 # o "true", "yes"
nota

La cadena StackExchange.Redis no es compatible.

Verificar si la caché está funcionando

Para verificar si la caché está conectada correctamente, deberías ver el siguiente mensaje cuando Logto se inicie:

[CACHE] Connected to Redis

Además, cuando la solicitud impacta en la caché (por ejemplo, al acceder a GET /api/.well-known/phrases varias veces), aparecerá el siguiente mensaje en la consola:

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

Footnotes

  1. Redis es una marca registrada de Redis Ltd. Todos los derechos están reservados a Redis Ltd. Cualquier uso por parte de Silverhand es solo para fines de referencia y no indica ningún patrocinio, respaldo o afiliación entre Redis y Silverhand.