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