Введение в кеширование в Spring
Кеширование (caching) – это техника оптимизации производительности, которая позволяет сохранять результаты вычислений или запросов для их повторного использования, избегая лишних операций. В Spring кеширование реализуется просто и эффективно благодаря интеграции с Spring Cache.
Как работает кеширование?
При запросе данных приложение сначала проверяет, есть ли результат в кеше:
Если данные найдены, они возвращаются напрямую из кеша.
Если данных нет, выполняется вычисление (или запрос к базе данных), результат сохраняется в кеше и возвращается пользователю.
Spring Cache – основы
Spring Cache предоставляет аннотации и интерфейсы для простого внедрения кеширования.
Основные компоненты:
Кеш-менеджер (Cache Manager) – отвечает за создание и управление кешами.
Аннотации – для указания, какие методы или результаты кешировать.
Spring поддерживает различные провайдеры кеша, например:
ConcurrentMapCache (в памяти, по умолчанию),
Ehcache,
Redis,
Caffeine.
Подключение кеша в Spring
Для начала нужно включить кеширование в вашем приложении:
Создадим сервис, который возвращает данные из базы:
Теперь добавим кеш:
#Java #Training #Spring #Caching
Кеширование (caching) – это техника оптимизации производительности, которая позволяет сохранять результаты вычислений или запросов для их повторного использования, избегая лишних операций. В Spring кеширование реализуется просто и эффективно благодаря интеграции с Spring Cache.
Как работает кеширование?
При запросе данных приложение сначала проверяет, есть ли результат в кеше:
Если данные найдены, они возвращаются напрямую из кеша.
Если данных нет, выполняется вычисление (или запрос к базе данных), результат сохраняется в кеше и возвращается пользователю.
Spring Cache – основы
Spring Cache предоставляет аннотации и интерфейсы для простого внедрения кеширования.
Основные компоненты:
Кеш-менеджер (Cache Manager) – отвечает за создание и управление кешами.
Аннотации – для указания, какие методы или результаты кешировать.
Spring поддерживает различные провайдеры кеша, например:
ConcurrentMapCache (в памяти, по умолчанию),
Ehcache,
Redis,
Caffeine.
Подключение кеша в Spring
Для начала нужно включить кеширование в вашем приложении:
@Configuration
@EnableCaching // Включаем поддержку кеширования
public class CacheConfig {
// Конфигурация кеша, если требуется (например, Redis или Ehcache)
}
Создадим сервис, который возвращает данные из базы:
@Service
public class DataService {
public String getDataById(Long id) {
// Имитация долгого выполнения, например, запроса к БД
try {
Thread.sleep(2000); // Задержка 2 секунды
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Data for ID: " + id;
}
}
Теперь добавим кеш:
@Service
public class CachedDataService {
@Cacheable("dataCache") // Кешируем результат метода
public String getDataById(Long id) {
// Имитация долгого выполнения
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Cached data for ID: " + id;
}
}
#Java #Training #Spring #Caching