Возможны рост памяти, устаревшие данные, гонки и лавина одинаковых загрузок. Нужны ограничения, политика актуальности, синхронизация и объединение конкурентных промахов.
Что проверить в реализации прикладного кеша
Возможны рост памяти, устаревшие данные, гонки и лавина одинаковых загрузок. Нужны ограничения, политика актуальности, синхронизация и объединение конкурентных промахов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Кеш хранит значения в map без ограничения размера, TTL и синхронизации; при промахе каждый запрос отдельно идёт в БД. Какие проблемы наиболее существенны?
Ответ
Возможны рост памяти, устаревшие данные, гонки и лавина одинаковых загрузок. Нужны ограничения, политика актуальности, синхронизация и объединение конкурентных промахов.
Определите ключ с учётом пользователя и прав, чтобы не смешать приватные данные. Выберите TTL, инвалидацию и поведение при ошибке источника. Считайте hit rate, размер и задержки. Кеш не должен превращать временную ошибку в вечный пустой результат; прогрев и массовое истечение ключей также требуют ограничения нагрузки.