Redis 키 만료 이해: 일시적 데이터 관리 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
Redis를 사용하는 개발자 및 DevOps 엔지니어, 특히 일시적 데이터 관리가 필요한 시스템 설계자.
핵심 요약
- TTL 설정 방법
EXPIRE mykey 60
또는SET session:1234 "userdata" EX 300
으로 키에 TTL(Time-to-Live)을 할당하여 자동 삭제- 삭제 메커니즘
- Lazy Deletion: 만료된 키를 접근 시 즉시 삭제
- Active Cleanup: 1초 간격으로 무작위 키 샘플링 후 일괄 삭제
- 주요 활용 사례
- 세션 관리, 캐싱, 한회용 토큰 등 일시적 데이터 처리
섹션별 세부 요약
1. **TTL 설정 방법**
EXPIRE
명령어로 초 단위,PEXPIRE
로 밀리초 단위로 키 만료 시간 설정SET
명령어와 함께EX
또는PX
옵션 사용 가능 (예:SET key "value" EX 300
)TTL mykey
또는PTTL mykey
로 남은 시간 확인 (존재하지 않거나 만료 시-1
또는-2
반환)
2. **삭제 메커니즘**
- Lazy Deletion
- 만료된 키에 접근 시 즉시 삭제 (성능 최적화)
- Active Cleanup
- 1초 간격으로 무작위 키 샘플링 후 일괄 삭제 (실시간 타이머 추적 회피)
3. **주요 활용 사례**
- 세션 관리: 사용자 불활성화 시 자동 로그아웃
- 캐싱: API 결과를 일정 시간 동안만 보관
- 한회용 토큰: 임시 액세스 토큰의 자동 무효화
- 레이트 제한: 요청 횟수 카운터를 자동 리셋
4. **LiveAPI 추천**
- Redis 설정 외에도 API 문서 자동 생성 도구인 LiveAPI 사용 권장
- 복잡한 기술 인프라에서 API 이해 및 사용을 간소화
결론
- Redis의 TTL 기능은 메모리 효율성과 데이터 생명주기 관리를 위한 핵심 도구
EXPIRE
,SET EX
,TTL
명령어를 활용한 일관된 설정이 중요- LiveAPI를 통해 API 문서 생성 시간 절약 및 협업 효율성 향상 가능