FlightItemRepository
항공편 아이템 Redis 저장소. Hash 구조로 개별 항공편 캐싱.
설정
| 항목 | 값 |
|---|---|
| 캐시 키 접두사 | international-flight-items |
| TTL | 20분 |
메서드
save()
fun save(listKey: UUID, flightItems: List<FlightItem>)항공편 목록 저장. Hash 구조로 저장 (detailKey → FlightItem).
| Caller | 설명 |
|---|---|
| FlightSearchService | 검색 결과 캐싱 |
find()
fun find(listKey: UUID, detailKey: String): FlightItem?특정 항공편 조회.
| Caller | 설명 |
|---|---|
| FlightDetailService | 상세 조회 시 항공편 조회 |
findAll()
fun findAll(listKey: UUID): List<FlightItem>?전체 항공편 목록 조회.
캐시 키 형식
international-flight-items::{UUID}
Hash 구조
Key: international-flight-items::{listKey}
Field: {detailKey}
Value: FlightItem
사용처
| 사용 위치 | 용도 |
|---|---|
| FlightSearchService | 검색 결과 개별 항공편 캐싱 |
| FlightDetailService | 상세 조회 시 항공편 조회 |
특징
- Redis Hash: HashOperations 사용
- detailKey 기반 조회: 개별 항공편 빠른 조회
- 20분 TTL: 검색 결과와 동일한 TTL
- 벌크 저장: putAll로 전체 목록 한번에 저장