Redis tracking отслеживает прочитанные клиентом ключи и отправляет invalidation при их изменении. Клиент удаляет локальную копию и получает новое значение при следующем чтении.
Как работает механизм Client-Side Caching в Redis 6+ и как бэкенд узнаёт, что данные на сервере Redis изменились?
Redis tracking отслеживает прочитанные клиентом ключи и отправляет invalidation при их изменении. Клиент удаляет локальную копию и получает новое значение при следующем чтении.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Redis tracking отслеживает прочитанные клиентом ключи и отправляет invalidation при их изменении. Клиент удаляет локальную копию и получает новое значение при следующем чтении.
Tracking включают через CLIENT TRACKING. В стандартном режиме Redis помнит интересующие соединение ключи; broadcasting-режим уведомляет по выбранным префиксам. RESP3 позволяет получать push-уведомления, а схема с отдельным соединением подходит для перенаправления invalidation. Это не рассылка новых значений и не обычная подписка на все изменения. При потере канала уведомлений локальный кеш необходимо считать недостоверным и сбросить или безопасно перепроверить. Обработку уведомлений и гонок чтения лучше доверять поддерживающему механизм клиенту.
Источник: redis.io.