Чем структура данных Redis Sorted Set (ZSET) отличается от обычного хеша и на базе какого алгоритма, например Skip List, она построена?

ZSET хранит уникальных участников с числовыми score и поддерживает порядок и диапазоны; Hash хранит пары полей и значений без такой сортировки. Внутреннее представление ZSET зависит от размера.

Короткий ответ

Что ответить на собеседовании

ZSET хранит уникальных участников с числовыми score и поддерживает порядок и диапазоны; Hash хранит пары полей и значений без такой сортировки. Внутреннее представление ZSET зависит от размера.

Подробный разбор

Ответ с пояснениями

ZSET хранит уникальных участников с числовыми score и поддерживает порядок и диапазоны; Hash хранит пары полей и значений без такой сортировки. Внутреннее представление ZSET зависит от размера.

Для обычной крупной кодировки Redis использует skip list вместе со словарём для доступа по участнику. Небольшие sorted sets могут храниться компактно в listpack; это не означает, что любой ZSET всегда является skip list. Равные score упорядочиваются по значению участника. ZSET удобен для рейтингов и упорядоченных очередей, но обновление score и диапазонные операции имеют другие расходы, чем простое чтение поля Hash.

Источник: redis.io, redis.io.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее