feat: Redis 중복 발송 방지 구현 (#108) #109
No reviewers
SPMS/Owners
Labels
No Label
Priority
High
Priority
Low
Priority
Medium
Priority
Non
Priority
Urgent
Status
Available
Status
Done
Status
In Progress
Type
Bug
Type
Chore
Type
Design
Type
Documentation
Type
Feature
Type
Improvement
Type
Refactor
Type
Research
Type
Task
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SPMS/SPMS_API#109
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/#108-redis-duplicate-check"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 작업 요약
{InstanceName}duplicate:{requestId}, TTL 24시간🔗 관련 이슈 (Related Issues)
Closes #108
🛠️ 작업 내용 (Changes)
SPMS.Application/Settings/RedisSettings.cs— Redis 설정 POCO (ConnectionString, InstanceName, DuplicateTtlHours)SPMS.Application/Interfaces/IDuplicateChecker.cs— 중복 체크 인터페이스 (IsDuplicateAsync)SPMS.Infrastructure/Caching/RedisConnection.cs— Redis 연결 관리 (ConnectionMultiplexer 싱글톤, SemaphoreSlim 동기화, 자동 재연결)SPMS.Infrastructure/Caching/DuplicateChecker.cs— 중복 체크 구현체 (StringSetAsync + When.NotExists, Redis 장애 시 fail-open)SPMS.Infrastructure/DependencyInjection.cs— Redis DI 등록 (Configure, RedisConnection, IDuplicateChecker)SPMS.Infrastructure/SPMS.Infrastructure.csproj— StackExchange.Redis 2.10.14 패키지 추가SPMS.API/appsettings.json— Redis 설정 섹션 추가📢 리뷰어 참고 사항 (To Reviewers)
✅ 체크리스트 (Self Checklist)
📸 스크린샷 / 테스트 로그 (Screenshots/Logs)