Sobes.tech
Junior — Middle
89

Jak jste implementovali ukládání do mezipaměti dat získaných od třetích stran API nebo služeb?

Společnosti byly požádány
Stroki

Odpověď od 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, уменьшить задержки и нагрузку на сервисы. Важно учитывать актуальность данных и правильно настраивать время жизни кэша.