중앙 캐시
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
-
Redis는 Redis Ltd.의 등록 상표입니다. 이에 대한 모든 권리는 Redis Ltd.에 귀속됩니다. Silverhand에 의한 사용은 참조 목적일 뿐이며, Redis와 Silverhand 간의 후원, 보증 또는 제휴를 나타내지 않습니다. ↩