Snapshot of the in-flight state that already existed, identically, in both this worktree and the main checkout before this session began: the initial HTTP Client platform implementation (previously untracked), the redis-lab removal, and the JPA / object-storage / notification integration work. Kept separate from this session's HTTP Client review response, which lands in the following commit, so the two bodies of work stay reviewable apart. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
44 lines
2.4 KiB
Markdown
44 lines
2.4 KiB
Markdown
# Redis Wrapper 및 Typed API 설계 패키지
|
|
|
|
이 패키지는 Spring 기반 Backend Skeleton에서 Redis 자료구조와 명령을 폭넓게 제공하기 위한 설계서와 구현 계획서다.
|
|
|
|
## 문서
|
|
|
|
- `docs/superpowers/specs/2026-08-07-redis-wrapper-typed-api-design.md`
|
|
- 범위와 비지원 범위
|
|
- Redis 버전·배포 모드
|
|
- 모듈과 의존 규칙
|
|
- 자료구조별 동기·Reactive Typed API
|
|
- R1~R4 명령 노출 정책
|
|
- permit·budget·Raw Gateway·Admin Plane
|
|
- namespace·직렬화·TTL·timeout·retry·오류·관측성·ACL
|
|
- Standalone·Sentinel·Cluster
|
|
- 테스트·CI·완료 정의
|
|
|
|
- `docs/superpowers/plans/2026-08-07-redis-wrapper-typed-api-implementation-plan.md`
|
|
- 27개 구현 작업
|
|
- 작업별 생성·수정 파일
|
|
- 작업 간 입력·출력 인터페이스
|
|
- 실패 테스트, 실행 명령, 최소 구현, 통과 검증, 커밋
|
|
- Redis 7.2·7.4·8.2·8.10 및 Sentinel·Cluster 테스트 작업
|
|
|
|
- `VALIDATION.md`
|
|
- 문서 구조와 계획 완전성에 대한 정적 검증 결과
|
|
|
|
## 핵심 결정
|
|
|
|
1. classic Redis 자료구조는 최대한 Typed API로 제공한다.
|
|
2. 고비용·Blocking·다중 키 명령은 permit와 `OperationBudget`을 요구한다.
|
|
3. Typed API에 아직 없는 R1·R2 명령은 승인형 Raw Gateway로 제공한다.
|
|
4. 운영 명령은 별도 Admin Plane, 파괴적 명령은 SDK 차단으로 분리한다.
|
|
5. command catalog는 Redis 공식 metadata에서 생성하고 조직 정책을 오버레이한다.
|
|
6. 동기와 Reactive API를 정식 지원하고 같은 내부 async primitive를 공유한다.
|
|
7. 일반·Blocking·Transaction·Pub/Sub·Admin 연결을 격리한다.
|
|
8. timeout 후 write는 자동 재시도하지 않고 실행 결과 불명을 표현한다.
|
|
|
|
## 적용 전제
|
|
|
|
현재 Backend Skeleton 저장소가 첨부되지 않아 경로와 Gradle 구조는 목표 구조로 확정했다. 실제 저장소에 적용할 때 기존 package naming, convention plugin, dependency management가 더 강한 기준을 이미 갖고 있다면 구조적 계약은 유지하면서 해당 규칙에 맞춘다.
|
|
|
|
입력 Markdown이 참조한 309행 Excel 워크북은 현재 작업 공간에 존재하지 않았다. 따라서 정확한 command matrix는 구현 과정에서 `COMMAND DOCS`, `COMMAND INFO`, `COMMAND GETKEYSANDFLAGS`를 읽어 재생성하고 정책 오버레이를 적용하도록 설계했다.
|