Taking a slice of a sorted set into a new key required reading it into the client and writing it back, which is O(n) over the network.
# before
ZRANGE leaderboard 0 99 WITHSCORES # 200 values to the client
ZADD top100 ... # and 200 back
# 6.2
ZRANGESTORE top100 leaderboard 0 99
ZRANGESTORE recent events (1609459200 +inf BYSCORE
# and ZRANGE itself gained REV, BYSCORE and BYLEX,
# which deprecates ZREVRANGE and ZRANGEBYSCORE
The consolidation of ZRANGE is the quieter improvement: five commands with subtly different argument orders became one with modifiers, which removes a recurring source of off-by-one errors between inclusive and exclusive bounds. Materialising a leaderboard slice server-side is the obvious use, and doing it on a timer rather than per request is what makes a large sorted set affordable to read.