Що таке Spring cache?

Spring Framework забезпечує підтримку прозорого додавання кешування до програми. За своєю суттю абстракція застосовує кешування методів, таким чином зменшуючи кількість виконання на основі інформації, доступної в кеші. Логіка кешування застосовується прозоро, без будь-якого втручання в систему виклику.

Анотація @Cacheable. Як випливає з назви, ви можете використовувати @Cacheable для розмежувати методи, які можна кешувати — тобто методи, для яких результат зберігається в кеші, так що при наступних викликах (з тими самими аргументами) значення в кеші повертається без необхідності фактичного виклику методу.

Основне призначення кешу полягає в тому, щоб підвищити продуктивність пошуку даних за рахунок зменшення потреби в доступі до основного повільного рівня зберігання. Замінюючи ємність на швидкість, кеш зазвичай тимчасово зберігає підмножину даних, на відміну від баз даних, дані яких зазвичай повні та довговічні.

Кеш є безпечна для типів структура даних, яка дозволяє програмам тимчасово зберігати дані (як пари ключ-значення). Його семантика схожа на java. util. Об’єкт Map, але це не зовсім те саме, що Map.

Різниця між @Cacheable і @CachePut полягає в тому @Cacheable пропустить запуск методу, тоді як @CachePut фактично запустить метод, а потім помістить його результати в кеш.

Щоб використовувати кешування у вашій програмі Spring Boot, вам потрібно:

  1. додати орг. пружинний каркас. boot:spring-boot-starter-cache залежність.
  2. додайте анотацію @EnableCaching до свого основного класу.
  3. додайте анотацію @Cacheable("books") до кожного методу, який ви хочете кешувати.