45분
캐싱 시스템 구현 (TTL + LRU)
로깅+캐싱 시스템 구축 - 주간 프로젝트
캐싱 시스템 구현 (TTL + LRU)
Python 고급: 제너레이터, 데코레이터, 컨텍스트 매니저, Type Hints > 로깅+캐싱 시스템 구축 - 주간 프로젝트
학습 목표
TTL 기반 캐시 엔트리를 구현한다 LRU 정책의 MemoryCache를 만든다 @cache 데코레이터를 구현한다
데코레이터와 제네릭을 활용하여 캐싱 시스템을 구현합니다.
구현 순서
- CacheEntry - Generic으로 타입 안전한 캐시 엔트리
- CacheStats - dataclass로 캐시 통계
- CacheBackend - Protocol로 백엔드 인터페이스
- MemoryCache - OrderedDict로 LRU 구현
- @cache 데코레이터 - TTL + maxsize 지원
핵심 포인트
- Generic: CacheEntry[V]로 타입 보존
- Protocol: CacheBackend로 인터페이스 정의
- OrderedDict: move_to_end()로 LRU 구현
- TTL: datetime.now() > expires_at로 만료 체크
에디터 로딩 중...
정답 보기
에디터 로딩 중...