OPEN HYPER STEP
← 목록으로 (Redis)
REDIS · 24 / 34
redis
CHAPTER 24 / 34
읽기 약 2
FUNCTION

실시간 순위표 (Leaderboard)


핵심 개념

Sorted Set을 활용한 실시간 순위표를 구현합니다. 점수 업데이트, 순위 조회, 상위 N명 조회를 포함합니다.

코드 분석
REDIS📋 코드 (21줄)
const BOARD = 'leaderboard'

// 점수 추가/업데이트
async function addScore(userId: string, score: number) {
  await redis.zadd(BOARD, score, userId)
}

// 점수 증가
await redis.zincrby(BOARD, 10, userId)

// 상위 10명 조회
const top10 = await redis.zrevrange(
  BOARD, 0, 9, 'WITHSCORES'
)

// 특정 유저 순위
const rank = await redis.zrevrank(BOARD, userId)
// rank: 0부터 시작 (0 = 1등)

// 특정 유저 점수
const score = await redis.zscore(BOARD, userId)

AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude

무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6

이 Redis '실시간 순위표 (Leaderboard)' 사용 패턴에서
데이터 유실 위험·TTL 누락·메모리 누수를
분석해서 프로덕션 수준으로 개선해줘.
ChatGPT

무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro

'실시간 순위표 (Leaderboard)'를 캐싱·세션·큐 3가지 시나리오에 적용하는
실전 코드를 만들어줘.
Gemini

무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro

이 Redis '실시간 순위표 (Leaderboard)' 사용 패턴이
클러스터의 키 분포·메모리 사용량·레이턴시에 미치는 영향을
분석하고 최적화 방안을 알려줘.
Grok

무료: Grok 4.1 / SuperGrok $30/mo

Redis '실시간 순위표 (Leaderboard)' vs Memcached·Valkey·DragonflyDB의
동일 기능 구현을 2026년 기준으로
솔직히 비교해줘.

⭐ 이것만 기억하세요
실시간 순위표 (Leaderboard) 이 3가지만 확실히 잡으세요
1.순위를 매번 DB에서 정렬 쿼리로 계산하면 실시간 업데이트가 느리고 DB 부하가 높습니다
2.Sorted Set의 ZADD로 점수를 갱신하고, ZREVRANGE로 실시간 순위를 O(log n)으로 조회합니다
3.다음 챕터에서 동시 접근을 제어하는 분산 락을 구현합니다


공유하기
진행도 24 / 34