Mini Redis는 문서로 고정한 command semantics를 기준으로, Redis-like key-value 서버의 핵심 경험을 짧고 안정적으로 보여주기 위한 프로젝트입니다.
- string key / string value
PING,GET,SET,DEL,EXPIRE,TTL,PERSIST- HTTP + JSON external interface
- lazy expiration + periodic sweep
- branch-scoped automated tests + manual smoke
app/persistence/*의 isolated AOF-lite writer / replay helpertests/unit/test_persistence_aof.py의 persistence 자동 테스트tests/benchmark/*의 benchmark helper, benchmark test, demo scripttests/smoke/http_demo.py의 client-only HTTP smoke artifact
- 구현됨: JSON Lines 기반
SET,DEL,EXPIRE,PERSISTappend / replay helper - 아직 미연결:
app/main.pystartup replay, dispatcher/store wiring - 현재 브랜치에서는 recovery를 isolated callback replay 수준까지만 검증한다.
- protocol/store 브랜치가 병합된 서버를 실행한다.
- HTTP smoke를 실행한다.
python tests/smoke/http_demo.py --base-url http://127.0.0.1:8000 - benchmark harness를 실행한다.
python tests/benchmark/run_benchmark_demo.py - persistence wiring이 병합된 뒤에는 startup replay recovery smoke를 추가로 확인한다.
- Automated:
pytest tests/unit/test_persistence_aof.py tests/benchmark/test_benchmark_helper.py - Static:
ruff check .mypy app - Manual smoke:
python tests/smoke/http_demo.py --base-url http://127.0.0.1:8000python tests/benchmark/run_benchmark_demo.py
- core semantics와 HTTP contract는 이 브랜치에서 재정의하지 않는다.
- end-to-end AOF recovery wiring은 아직 없다.
- benchmark demo는 upstream integration 전까지 simulated cache path를 사용한다.