Użyj posortowanego zbioru Redis (ZSET) kluczowanego po wyniku: ranking i top-N stają się wbudowanymi operacjami O(log N), więc nigdy nie sortujesz milionów wierszy na żądanie. ZSET automatycznie utrzymuje członków uporządkowanych po wyniku; to dokładnie jest leaderboard.
Architektura
Game svc ──ZADD score──▶ Redis ZSET (sorted by score) ──ZREVRANGE 0 99──▶ Top-100 API
│
├─ ZREVRANK user ─▶ "your rank" (around-me: rank±5)
└─ AOF/RDB + async ─▶ Postgres (durable source of truth)
