Lesson 10 / 18

Sorted Sets

Unique members ranked by a score — Redis's leaderboard type.

ZADD & ZRANGE

A sorted set keeps members ordered by a numeric score automatically — no separate sort step ever needed.

ZADD leaderboard 100 "ada" 250 "bo" 180 "chi"
ZRANGE leaderboard 0 -1 WITHSCORES

Output:

1) "ada"
2) "100"
3) "chi"
4) "180"
5) "bo"
6) "250"

Updating a score

ZINCRBY adjusts a member's score in place — exactly what a live leaderboard needs after every point scored.

ZINCRBY leaderboard 30 "ada"
ZREVRANGE leaderboard 0 2 WITHSCORES

Output:

(integer) 130
1) "bo"
2) "250"
3) "chi"
4) "180"
5) "ada"
6) "130"

Quick check: What keeps members in order inside a Redis sorted set?

  • The order they were inserted
  • A numeric score attached to each member
  • Alphabetical order of the member name
Answer

A numeric score attached to each member — Sorted sets rank members by their score, updated any time with `ZADD` or `ZINCRBY`.