Як кешувати відповідь API у Spring?

Spring пропонує рівень абстракції кешування, який відокремлює код від фактичного рішення кешування. Анотуючи методи за допомогою @Cacheable, Spring гарантує, що результати методу зберігаються в кеші. Наступні виклики з тими самими параметрами отримають кешований результат замість повторного виклику методу.

Коли ви вмикаєте кешування для етапу, API Gateway кешує відповіді від вашої кінцевої точки протягом певного періоду часу життя (TTL) у секундах. Потім шлюз API відповідає на запит, шукаючи відповідь кінцевої точки в кеші замість того, щоб надсилати запит вашій кінцевій точці.

Кінцеві точки API, які інтенсивно читають, отримують найбільше переваг від рівня кешу. Уявіть, що ви хочете отримати деталі профілю користувача у своїй програмі соціальних мереж. Як правило, кінцеві точки API, які отримують інформацію про користувача, не повертають дані, які постійно змінюються протягом секунд. Використовуйте кешування на цьому типі кінцевих точок API.

Як правило, якщо ми маємо кілька однакових HTTP-запитів у компоненті, ми використовуємо частка rxjs() оператор для збереження викликів API.

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

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