Встречается на собеседованиях • сегодня
Как делал кэширование запросов из внешних сервисов
Для кэширования запросов к внешним сервисам в Java обычно используют:
- Spring Cache (простая интеграция через аннотации):
java
@Cacheable("users")
public User getUserById(Long id) {
return restTemplate.getForObject("/users/{id}", User.class, id);
}- Guava Cache (гибкая настройка):
java
Cache<Long, User> cache = CacheBuilder.newBuilder()
.maximumSize(1000)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build();
public User getUser(Long id) {
try {
return cache.get(id, () -> fetchUserFromService(id));
} catch (ExecutionException e) {
throw new RuntimeException(e);
}
}
text
3. **Redis** (распределённое кэширование):
```java
@Cacheable(value = "users", cacheManager = "redisCacheManager")
public User getUser(Long id) {
// запрос к внешнему сервису
}Ключевые моменты:
- Учитывайте TTL (время жизни кэша)
- Обрабатывайте ошибки кэширования
- Для часто изменяющихся данных используйте короткий TTL
- Для критичных данных реализуйте механизм инвалидации кэша

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы