본문으로 건너뛰기

중앙 캐시

Logto는 Redis®1를 중앙 캐시로 사용하여 잘 알려진 데이터를 저장하는 것을 지원합니다. 중앙 캐시를 사용함으로써, Logto는 응답을 생성하는 데 필요한 데이터베이스 쿼리 수를 줄여 최종 사용자 경험을 크게 향상시킬 수 있습니다.

일반적으로, 캐시는 잘 알려진 데이터만을 위해 설계되었기 때문에 공개할 수 있습니다. 현재 Logto는 인증 (Authentication) 또는 인가 (Authorization)를 요구하는 데이터를 저장하지 않습니다.

노트:

최고의 보안 관행을 보장하기 위해, 여전히 캐시에 대한 접근을 제한하는 것이 좋습니다.

연결 구성​

캐시를 활성화하려면, 실행 중인 Redis 6.0 인스턴스가 필요합니다. Logto가 캐시에 연결하고 사용하려면, REDIS_URL 환경 변수를 Redis 연결 문자열로 설정하면 됩니다. 이 문자열은 보안되지 않은 연결의 경우 "redis" 프로토콜 (redis://)로 시작해야 하며, TLS를 통한 연결의 경우 "redis" 프로토콜 (redis://)로 시작해야 합니다.

예를 들어:

REDIS_URL=redis://your-redis-username:your-password@your.redis.url.com:6380

연결 문자열의 대부분의 부분은 생략할 수 있으며, 아래 예시처럼 사용자 이름과 포트를 생략하고 "redis" 프로토콜을 사용하는 연결 문자열을 구성할 수 있습니다:

REDIS_URL=redis://:your-password@your.redis.url.com

비밀번호에 특수 문자가 포함된 경우, URI 인코딩이 필요합니다:

# 비밀번호가 "foo="인 경우
REDIS_URL=redis://:foo%3D@your.redis.url.com

모든 기본값이 사용되는 경우, 편의를 위해 변수를 참 값으로 설정할 수 있습니다:

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 간의 후원, 보증 또는 제휴를 나타내지 않습니다. ↩