Middle+
How to organize cache for external integration? What are the cache parameters?
sobes.tech AI
Answer from AI
For cache organization when integrating with external services, the following are usually used:
- Dedicated cache (e.g., Redis, Ehcache) for storing responses from external APIs.
- Local cache in the application memory for quick access to frequently used data.
Main cache parameters:
- TTL (Time To Live) — the lifetime of cached data after which it is considered outdated.
- Maximum size — limit on the number or volume of stored elements.
- Eviction policy — for example, LRU (Least Recently Used) for removing old elements.
- Update strategy — lazy loading (on demand) or proactive refresh (scheduled updates).
- Consistency — how often and in what manner the cache is synchronized with the source.
Example of using Spring Cache with Redis:
@Cacheable(value = "externalApiCache", key = "#id", unless = "#result == null")
public Data getDataFromExternalApi(String id) {
// call to external service
}
In Redis configuration, you can set TTL for keys so that the cache is automatically refreshed.