# Sorted Sets — Redis

Source: https://www.geekswithgeeks.com/en/redis/redis-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.

```bash
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.

```bash
ZINCRBY leaderboard 30 "ada"
ZREVRANGE leaderboard 0 2 WITHSCORES
```

Output:

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

**Quiz:** What keeps members in order inside a Redis sorted set?

- [ ] The order they were inserted
- [x] 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`.
