@EnableCaching
// Включает кэш в проекте
// Ставится на конфигурационный класс
@Cacheable
// Кэширует результат метода
// Используй для дорогих в вычислении методов
@CachePut
// Обновляет кэш новым результатом
// Когда метод меняет данные и нужно обновить кэш
@CacheEvict
// Удаляет записи из кэша
// При удалении или обновлении данных
@Caching
// Объединяет несколько кэш-аннотаций
// Когда на методе нужно и @Put, и @Evict, и т.д.
@CacheConfig
// Общие настройки кэша на уровне класса
// Чтобы не дублировать параметры в каждой аннотации
👉 Java Portal
