Встречается на собеседованиях • сегодня
Какая политика инвалидации кэша на текущем проекте
Мы используем комбинированный подход к инвалидации кэша:
-
TTL-based инвалидация - устанавливаем разумные сроки жизни кэшированных данных (обычно 5-30 минут) в зависимости от частоты обновления данных.
-
Event-driven инвалидация - при изменении данных в БД отправляем события, которые триггерят очистку соответствующих кэш-записей.
Пример:
java
@Cacheable(value = "users", key = "#id", ttl = 600)
public User getUserById(Long id) {
return userRepository.findById(id).orElse(null);
}
@CacheEvict(value = "users", key = "#user.id")
public void updateUser(User user) {
userRepository.save(user);
eventPublisher.publishEvent(new UserUpdatedEvent(user.getId()));
}Для распределенного кэша (Redis) дополнительно используем паттерн Cache-Aside. В критичных к бизнесу сценариях применяем принудительную синхронную инвалидацию.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы