Встречается на собеседованиях • сегодня
Как происходит маршрутизация между выбором ноды в 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), так как обычные клиенты не поддерживают кластерный протокол.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы