Встречается на собеседованиях • сегодня

Как происходит маршрутизация между выбором ноды в Redis

В Redis кластере маршрутизация основана на хеш-слотах (hash slots). Всего 16384 слота, распределенных между нодами. Ключ хешируется через CRC16, затем берется модуль 16384 для определения слота.

Пример:

python
import redis

# Подключение к кластеру
cluster = redis.RedisCluster(
    startup_nodes=[{"host": "127.0.0.1", "port": "7000"}],
    decode_responses=True
)

Ключ автоматически направляется в нужную ноду

cluster.set("foo", "bar") # Слот вычисляется из "foo"

text

Особенности:
- Клиент кэширует карту слотов для прямого подключения к нужной ноде
- При изменении топологии (resharding) клиент получает MOVED перенаправление и обновляет кэш
- Если нода недоступна, клиент пытается выполнить команду на реплике (READONLY режим)

Для работы с кластером лучше использовать специализированные клиенты (redis-py-cluster), так как обычные клиенты не поддерживают кластерный протокол.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы