У меня есть грубые методы, которые изменяют данные в кеше и базе данных
У меня также есть метод, который возвращает все сущности, когда я использую его после изменений в кэше и базе данных, я получаю неактуальные данные.
Насколько я понимаю, дело в методе возврата всех сущностей. Он использует ключ по умолчанию, он отличается от других методов.
Что мне нужно сделать, чтобы я мог вернуть действительный паспорт?
@Service
@CacheConfig(cacheNames = "configuration")
class ServiceConfiguration{
@Cacheable //this method returns non actual data
public List<MySomeConfiguration> getAllProxyConfigurations() {
return repository.getAllConfigurations();
}
@Cacheable(key = "#root.target.getConfigurationById(#id).serverId")
public MySomeConfiguration getConfigurationById(Long id) {
...
return configuration;
}
@CachePut(key = "#configuration.serverId", condition = "#result.id != null")
public MySomeConfiguration addOrUpdateConfiguration(Configuration configuration) {
return configuration;
}
@Cacheable(key = "#serverId")
public MySomeConfiguration getConfigurationByServerId(String serverId) {...
return configuration;
}
@CacheEvict(key = "#root.target.getConfigurationById(#id).serverId")
public void deleteConfigurationById(Long id) {
...
}
}//end class
p.s. извините за мой английский