Как работает механизм Client-Side Caching в Redis 6+ и как бэкенд узнаёт, что данные на сервере Redis изменились?

Redis tracking отслеживает прочитанные клиентом ключи и отправляет invalidation при их изменении. Клиент удаляет локальную копию и получает новое значение при следующем чтении.

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

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

Redis tracking отслеживает прочитанные клиентом ключи и отправляет invalidation при их изменении. Клиент удаляет локальную копию и получает новое значение при следующем чтении.

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

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

Redis tracking отслеживает прочитанные клиентом ключи и отправляет invalidation при их изменении. Клиент удаляет локальную копию и получает новое значение при следующем чтении.

Tracking включают через CLIENT TRACKING. В стандартном режиме Redis помнит интересующие соединение ключи; broadcasting-режим уведомляет по выбранным префиксам. RESP3 позволяет получать push-уведомления, а схема с отдельным соединением подходит для перенаправления invalidation. Это не рассылка новых значений и не обычная подписка на все изменения. При потере канала уведомлений локальный кеш необходимо считать недостоверным и сбросить или безопасно перепроверить. Обработку уведомлений и гонок чтения лучше доверять поддерживающему механизм клиенту.

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

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

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

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

Подробнее