캐싱
SMCTF에서 Redis는 크게 캐싱과 Rate Limiting, JWT Refresh 세션 저장, Pub/Sub 등으로 사용됩니다. 이 문서에서는 캐싱 레이어에 대해 설명합니다.
다음과 같은 기능과 설정 등을 캐싱 레이어에서 지원합니다.
- JWT Refresh 토큰 정보 (
refresh:<UUID>) - App Config (사이트 설정) DB 쿼리 결과 (
app_config:cached) - Timeline 및 Leaderboard DB 쿼리 결과 (
timeline,timeline,leaderboard,leaderboard등등)
강제로 캐싱을 무효화하려면 아래의 명령어를 통해 Redis에서 해당 키를 삭제할 수 있습니다.
redis-cli --scan --pattern "pattern:*" | xargs redis-cli UNLINK이때 외부 Redis 엔드포인트를 별도로 지정해야 할 수 있습니다. 이 경우 -h, -p 플래그를 사용하여 Redis 호스트를 지정하세요.
export REDIS_HOST=example.comexport REDIS_PORT=6379redis-cli -h $REDIS_HOST -p $REDIS_PORT --scan --pattern "pattern:*" | xargs redis-cli -h $REDIS_HOST -p $REDIS_PORT UNLINK스코어보드 캐싱과 관련된 부분은 아래의 문서를 참조하세요.
https://articles.swua.kr/development/2026-02-27-development-mitigating-thundering-herd-with-redis