Back to questions
Junior — Middle
56
Каким образом вы реализовали кэширование данных, полученных от сторонних API или сервисов?
Companies where asked
Stroki
Answer from AI
sobes.tech AI
Для кэширования данных, полученных от сторонних API в Java, часто использую встроенные или сторонние решения, например, ConcurrentHashMap для простого кэша в памяти или библиотеки вроде Caffeine и Ehcache для более продвинутого кэширования с поддержкой TTL (времени жизни) и автоматического обновления.
Пример с использованием Caffeine:
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
Cache<String, String> cache = Caffeine.newBuilder()
.expireAfterWrite(10, java.util.concurrent.TimeUnit.MINUTES)
.maximumSize(1000)
.build();
// Получение данных с кэшированием
public String getData(String key) {
return cache.get(key, k -> fetchFromApi(k));
}
private String fetchFromApi(String key) {
// Логика вызова стороннего API
return "response";
}
Такой подход позволяет избежать повторных запросов к API, уменьшить задержки и нагрузку на сервисы. Важно учитывать актуальность данных и правильно настраивать время жизни кэша.