Redis Sorted Sets: O(log N) for add/update, O(log N) for rank lookup, O(log N + M) for range queries.
ZADD leaderboard 1500 player123 sets score. ZREVRANK leaderboard player123 returns rank. ZREVRANGE leaderboard 0 99 WITHSCORES returns top .
For M players, sorted set fits in memory (~MB). Shard by game or region for larger scale.