cs
A sorted set is similar to a normal set but with an additional property.
Each element is associated with a score, and Redis automatically sorts elements based on that score.
Structure example:
leaderboard
Alice → 1200
Bob → 980
Charlie → 760
Because Redis maintains the order internally, retrieving ranked results becomes efficient.
Sorted sets are commonly used for:
- leaderboards
- ranking systems
- scheduling systems
- priority queues
Adding Elements
ZADD
Adds an element with a score.
ZADD leaderboard 1200 "alice"
ZADD leaderboard 980 "bob"
ZADD leaderboard 760 "charlie"
Redis automatically keeps the set sorted by score.
Retrieving Elements
ZRANGE
Returns elements from lowest score to highest score.
ZRANGE leaderboard 0 -1
Result:
"charlie"
"bob"
"alice"
ZREVRANGE
Returns elements from highest score to lowest score.
ZREVRANGE leaderboard 0 2
Result:
"alice"
"bob"
"charlie"
This command is commonly used for top rankings.
Getting Scores
ZSCORE
Retrieve the score of a member.
ZSCORE leaderboard "alice"
Result:
1200
Removing Elements
ZREM
ZREM leaderboard "bob"
Example Use Case: Leaderboard
Players gain points after completing a game.
ZADD game_scores 1500 "player1"
ZADD game_scores 2100 "player2"
ZADD game_scores 1800 "player3"
Get top players:
ZREVRANGE game_scores 0 2
Redis sorted sets make leaderboard systems extremely efficient even with millions of players.
Related: [[Redis]] [[Redis - Strings]] [[Redis - Lists]] [[Redis - Sets]] [[Redis - Hashes]]