score-ஆல் keyed செய்யப்பட்ட ஒரு Redis sorted set (ZSET) பயன்படுத்துங்கள்: rank மற்றும் top-N ஆகியவை O(log N) built-in operations ஆகின்றன, எனவே நீங்கள் ஒருபோதும் ஒரு request-க்கு மில்லியன் கணக்கான rows-ஐ sort செய்வதில்லை. ஒரு ZSET members-ஐ score-ஆல் தானாக ordered-ஆக வைத்திருக்கிறது; ஒரு leaderboard என்பது சரியாக அதுவே.
கட்டமைப்பு
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)
