如果我直接调用@Cacheable (findById),它工作得很好。但是如果我从@Cacheput方法调用,它就不是工作。
@Cacheable(key = "#p0")
public User findById(String userId) {
User user = userRepository.findById(userId).orElseThrow(() -> new NotFoundException());
return user;
}
@CachePut(key = "#p0"
我使用spring缓存抽象,使用Ehcache作为缓存提供程序。我试图将缓存操作附加到spring事务,但无法这样做。
即使事务失败/回滚缓存,也会发生put。
配置,
@Bean
public EhCacheManagerFactoryBean cacheManagerUsingSpringApi() {
EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean();
// provide xml file for ehcac
我看过很多类似的问题,但我仍然找不到解决办法,所以我的问题是:
我在试着在弹靴上安装Ehcache。
Spring 2.2.6.RELEASE
Ehcache 3.8.1
CacheService
我有一个名为myCache的缓存。
@Cacheable(value = "myCache")
@GetMapping("/get")
public String get();
CacheConfig
还有我的配置
@Configuration
@EnableCaching
public class CacheConfig {
public Cache
我正在学习spring引导缓存,以将这个概念应用到我们组织的项目中,并且我制作了一个名为employe的示例项目。我的控制器和服务组件中有四种方法--插入、更新、获取和getAll.For插入-- get @Cacheable工作得很好。现在我第一次调用getAllEmployee(),然后它从数据库中获取数据。之后,我尝试用@CachePut进行更新,它更新数据库中的值,然后再次调用getAllEmployee(),然后它没有从缓存返回更新的值。我还提到了 for @CachePut。我还参考了一些其他文档,如和,但我没有解决问题。此外,当我调用时,不会引发错误。
我试过的是
这是我来自Em
您好,我在我的应用程序中使用Spring Boot Cache。我可以从db获取数据,并对这些数据执行cached操作。
@Cacheable("employee")
public Optional<List<Employee>> employeeData(){
log.info("Fetched employee details from DB and cached in memory!!");
return employeeRepository.findActiveEmployee();
}
我想在cached ob