콘텐츠로 이동

KV Deduplication Logic

KV 기반 중복 검사 시스템은 NEWSFORK_DEDUP 환경변수로 활성화됩니다.

Terminal window
export NEWSFORK_DEDUP=true
export CF_ACCOUNT_ID="your-account-id"
export CF_KV_NAMESPACE_ID="your-namespace-id"
export CF_API_TOKEN="your-api-token"
Terminal window
gh secret set NEWSFORK_DEDUP --body "true"
gh secret set CF_ACCOUNT_ID --body "your-account-id"
gh secret set CF_KV_NAMESPACE_ID --body "your-namespace-id"
gh secret set CF_API_TOKEN --body "your-api-token"
// URL 중복 여부 확인
isDuplicate(url: string, config: KVConfig): Promise<DeduplicationResult>
// 배치 중복 검사
batchDeduplication(urls: string[], config: KVConfig, batchSize: number): Promise<BatchDeduplicationResult>
// 중복 검사 통계
generateDeduplicationStats(results: DeduplicationResult[]): Record<string, any>
  1. URL 해시 생성: SHA-1 해시로 KV 키 생성
  2. KV 조회: 해당 키가 존재하는지 확인
  3. 중복 판정:
    • 존재하면 → 중복 (처리 안함)
    • 없으면 → 신규 (KV에 등록 후 처리)
  4. TTL 설정: 30일 후 자동 삭제
  • NEWSFORK_DEDUP=true 환경변수 설정
  • Cloudflare KV 환경변수들 모두 설정
  • test/utils/kv-deduplication.ts — KV 연결 및 중복 검사 로직
  • test/kv-deduplication.test.ts — 테스트 스위트