首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有Ehcache @CacheEvict的Spring Cache不起作用

Ehcache是一个开源的Java缓存框架,它可以与Spring Cache集成,提供缓存管理和数据缓存的功能。@CacheEvict是Spring框架中的一个注解,用于标记方法,表示在方法执行后清除指定的缓存。

当使用带有Ehcache @CacheEvict的Spring Cache时,如果发现不起作用,可能有以下几个原因:

  1. 配置问题:首先需要确保正确配置了Ehcache和Spring Cache。在Spring的配置文件中,需要添加Ehcache的相关配置,包括缓存的名称、缓存的策略等。同时,需要在需要缓存的方法上添加@Cacheable注解,以及在需要清除缓存的方法上添加@CacheEvict注解,并指定要清除的缓存名称。
  2. 方法调用问题:确保使用了正确的方法调用方式。@CacheEvict注解应该被应用在需要清除缓存的方法上,而不是被调用的方法上。如果@CacheEvict注解被应用在错误的方法上,缓存将不会被清除。
  3. 缓存键问题:@CacheEvict注解可以指定缓存的键,以便清除指定的缓存项。如果没有正确指定缓存键,可能导致缓存不起作用。确保在@CacheEvict注解中正确指定了缓存键。
  4. 缓存配置问题:检查Ehcache的配置文件,确保缓存的配置正确。可能需要调整缓存的过期时间、最大缓存数量等参数,以满足实际需求。

推荐的腾讯云相关产品:

  • 腾讯云缓存Redis:提供高性能、可扩展的内存数据库服务,可作为Spring Cache的缓存存储后端。详情请参考:腾讯云缓存Redis
  • 腾讯云云数据库CynosDB:提供高可用、可扩展的数据库服务,可用于存储应用程序的数据。详情请参考:腾讯云云数据库CynosDB
  • 腾讯云云服务器CVM:提供弹性、可靠的云服务器,可用于部署应用程序和运行服务器端代码。详情请参考:腾讯云云服务器CVM

请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求和项目要求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用

使用@Cacheable标记方法在执行后Spring Cache将缓存其返回结果,而使用@CacheEvict标记方法会在方法执行前或者执行后移除Spring Cache某些元素。...@CacheEvict @CacheEvict是用来标注在需要清除缓存元素方法或类上。...("delete user by id: " + id); } 其实除了使用@CacheEvict清除缓存元素外,当我们使用Ehcache作为实现时,我们也可以配置Ehcache自身驱除策略...单独使用Ehcache 前面介绍内容是Spring内置Cache支持,其实我们也可以通过Spring自己单独使用EhcacheCacheManager或Ehcache对象。...Cache才起作用,对已经存在Cache不起作用,更多属性设置请参考SpringAPI文档。

2.1K10
  • 另一种缓存,Spring Boot 整合 Ehcache

    Spring Cache 来实现。...Spring Cache 可以整合 Redis,当然也可以整合 Ehcache,两种缓存方案整合还是比较相似,主要是配置差异,具体用法是一模一样,就类似于 JDBC 和 数据库驱动关系一样。...前面配置完成后,后面具体使用 API 都是一样。 和 Spring Cache + Redis 相比,Spring Cache + Ehcache 主要是配置有所差异,具体用法是一模一样。...项目创建 首先,来创建一个 Spring Boot 项目,引入 Cache 依赖: ? 工程创建完成后,引入 Ehcache 依赖,Ehcache 目前有两个版本: ?...注意 默认情况下,这个文件名是固定,必须叫 ehcache.xml ,如果一定要换一个名字,那么需要在 application.properties 中明确指定配置文件名,配置方式如下: spring.cache.ehcache.config

    51230

    Spring Boot2 系列教程(三十)Spring Boot 整合 Ehcache

    Spring Cache 来实现。...Spring Cache 可以整合 Redis,当然也可以整合 Ehcache,两种缓存方案整合还是比较相似,主要是配置差异,具体用法是一模一样,就类似于 JDBC 和 数据库驱动关系一样。...前面配置完成后,后面具体使用 API 都是一样。 和 Spring Cache + Redis 相比,Spring Cache + Ehcache 主要是配置有所差异,具体用法是一模一样。...项目创建 首先,来创建一个 Spring Boot 项目,引入 Cache 依赖: ? 工程创建完成后,引入 Ehcache 依赖,Ehcache 目前有两个版本: ?...id) { //在这里执行删除操作, 删除是去数据库中删除 } 总结 本文主要向大家了 Spring Boot 整合 Ehcache 用法,其实说白了还是 Spring Cache 用法。

    49830

    Spring Cache抽象-基于XML配置声明(基于EhCache配置)

    概述 完整示例 pomxml增加依赖 数据库表数据Oracle 实体类 服务层 ehcache配置文件 Spring-EhCache配置文件 单元测试 日志输出 日志分析 示例源码 概述 首先请阅读...Spring Cache抽象-基于XML配置声明(基于ConcurrentMap配置),本篇博文基于XML配置,使用了Ehcache缓存管理器。...---- 基于Java类注解EhCache请阅读 Spring Cache抽象-使用Java类注解方式整合EhCache ---- 完整示例 pom.xml增加依赖 ...提供EhCacheCacheManager来生成一个SpringCacheManager,其接收一个EhcacheCacheManager,因为真正用来存入缓存数据还是Ehcache。...EhcacheCacheManager是通过Spring提供EhCacheManagerFactoryBean来生成,其可以通过指定ehcache配置文件位置来生成一个EhcacheCacheManager

    34330

    Spring整合Ehcache管理缓存

    前言 Ehcache 是一个成熟缓存框架,你可以直接使用它来管理你缓存。 Spring 提供了对缓存功能抽象:即允许绑定不同缓存解决方案(如Ehcache),但本身不直接提供缓存功能实现。...本文先通过Ehcache独立应用范例来介绍它基本使用方法,然后再介绍与Spring整合方法。 概述 Ehcache是什么?...Cache cache = manager.getCache("sampleCache"); cache.disableDynamicFeatures(); Spring整合Ehcache Spring3.1...注:我本人使用Spring版本为4.1.4.RELEASE,目前Spring版本仅支持Ehcache2.5以上版本,但不支持Ehcache3。...Ehcache github Ehcache官方文档 Ehcache详细解读 注释驱动 Spring cache 缓存介绍 Spring官方文档4.3.3.RELEASE 第36章缓存抽象

    1.8K70

    Spring整合Ehcache管理缓存

    Spring 提供了对缓存功能抽象:即允许绑定不同缓存解决方案(如Ehcache),但本身不直接提供缓存功能实现。它支持注解方式使用缓存,非常方便。...本文先通过Ehcache独立应用范例来介绍它基本使用方法,然后再介绍与Spring整合方法。 概述 Ehcache是什么?...Cache cache = manager.getCache("sampleCache"); cache.disableDynamicFeatures(); Spring整合Ehcache Spring3.1...注:我本人使用Spring版本为4.1.4.RELEASE,目前Spring版本仅支持Ehcache2.5以上版本,但不支持Ehcache3。...它支持属性和用法都与@Cacheable一致。 @CacheEvict 与@Cacheable功能相反,@CacheEvict表明所修饰方法是用来删除失效或无用缓存数据。

    54020

    玩转Spring Cache --- @Cacheable@CachePut@CacheEvict注解原理深度剖析和使用【享学Spring

    前言 上篇文章介绍了@EnableCaching,用它来开启Spring对缓存注解支持。本篇文章将继续分析Spring Cache,并且讲解是我们最为关心:缓存注解实操方面的原理支持和使用。...】玩转Spring Cache — @Cacheable/@CachePut/@CacheEvict缓存注解相关基础类打点 再读本文,效果会像德芙一般丝滑~ 从上篇文章中已经知道了@EnableCaching...所以还没有看这块,此处再一次推荐:【小家Spring】玩转Spring Cache — @Cacheable/@CachePut/@CacheEvict缓存注解相关基础类打点 CacheInterceptor...处理缓存注解步骤总结 Spring CacheSpring框架核心模块之一,不可谓不重要。用了好几篇文章专门来讲解使用、分析原理。...下面按照正常思路,我把Spring处理步骤总结如下: CacheOperation封装了@CachePut、@Cacheable、@CacheEvict(下称三大缓存注解)属性信息,以便于拦截时候能直接操作此对象来执行逻辑

    11.5K51

    谈谈你对本地缓存理解?

    > spring-boot-starter-cache org.ehcache...在 Spring 框架中,@Cacheable、@CachePut 和 @CacheEvict 是用于缓存管理注解,它们含义如下: @Cacheable:用于声明一个方法返回值是可以被缓存。...当方法被调用时,Spring Cache 会先检查缓存中是否存在相应数据。如果存在,则直接返回缓存中数据,避免重复执行方法;如果不存在,则执行方法并将返回值存入缓存中。..."); } 小结 生产环境通常会使用本地缓存 + Redis 缓存,一起实现多级缓存,以提升程序运行效率,而本地缓存常见实现有 Ehcache、Caffeine、Guava Cache 等。...本文已收录到我面试小站 www.javacn.site,其中包含内容有:并发编程、MySQL、Redis、SpringSpring MVC、Spring Boot、Spring Cloud、MyBatis

    8010

    玩转Spring Cache --- @Cacheable@CachePut@CacheEvict缓存注解相关基础类打点【享学Spring

    若我们需要扩展缓存注解能力,对这些抽象是非常有必要深入了解~ Spring内置三大注解缓存是: Cacheable:缓存 CacheEvict:删除缓存 CachePut:更新缓存 CacheOperation...对应着三个注解,Spring提供了三种不同操作实现。...{ CACHE_OPERATION_ANNOTATIONS.add(Cacheable.class); CACHE_OPERATION_ANNOTATIONS.add(CacheEvict.class...CacheResolver 其名字已经暗示了其是Cache解析器,用于根据实际情况来动态解析使用哪个Cache,它是Spring4.1提供新特性。...总结 本篇文章为讲解缓存注解深入原理分析进行铺垫,所以密切关注这篇文章: 【小家Spring】玩转Spring Cache — @Cacheable/@CachePut/@CacheEvict注解使用以及原理深度剖析

    5.1K31

    Ehcache与Guava Cache之间区别

    不过个人感觉比较鸡肋,对JVM级别的缓存来讲太重了; Ehcache jar包庞大,Guava Cache只是Guava jar包中工具之一,而且后者远远小于Ehcache; 两种缓存当缓存过期或者没有命中时候都可以通过...两者主要区别是Ehcache缓存load时候,允许用户返回null,而Guava Cache则不允许返回为null,因为Guava Cache是根据value值是否为null来判断是否需要load...不允许返回null是一个很好考虑; Ehcache有内存占用大小统计,Guava Cache没有,需要自己开发。 什么时候适用Ehcache、什么时候适用Guava cache?...适用Guava cache情况 Guava cache说简单点就是一个支持LRUConCurrentHashMap,它没有Ehcache那么多各种特性,只是提供了增、删、改、查、刷新规则和时效规则设定等最基本元素...做一个jar包中一个功能之一,Guava cache极度简洁并能满足觉大部分人要求。 总结 Ehcache有着全面的缓存特性,但是略重。Guava cache有最基本缓存特性,很轻。

    1.9K40

    Springboot整合ehcache缓存「建议收藏」

    EhCache是一个比较成熟Java缓存框架,最早从hibernate发展而来, 是进程中缓存系统,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活cache管理方案,快速简单。...配置进去;即在application.properties中加入以下配置代码 spring.cache.ehcache.config=ehcache.xml 第三步结束,ehcache在Springboot...value属性指定cache名称(即选择ehcache.xml中哪种缓存方式存储) key属性是用来指定Spring缓存方法返回结果时对应key。该属性支持SpringEL表达式。...(users); }   说明:@CacheEvict是用来标注在需要清除缓存元素方法或类上。...当指定了allEntries为true时,Spring Cache将忽略指定key。有的时候我们需要Cache一下清除所有的元素,这比一个一个清除元素更有效率。

    1K70

    SpringBoot 实战 (十一) | 整合数据缓存 Cache

    Spring 缓存支持 Spring 定义了org.springframework.cache.CacheManager 和 org.springframework.cache.Cache 接口用于统一不同缓存技术...其中,CacheManager 是 Spring 提供各种缓存技术抽象接口,Cache 接口则是包含了缓存各种操作(增加,删除,获取缓存,一般不会直接和此接口打交道)。...例如: spring.cache.type= # 可选 generic、ehcache、hazelcast、infinispan、jcache、redis、guava、simple、none spring.cache.cache-names...= # 程序启动时创建缓存名称 spring.cache.ehcache.config= # ehcache 配置文件地址 spring.cache.hazelcast.config= # hazelcast...配置文件地址 spring.cache.infinispan.config= # infinispan配置文件地址 spring.cache.jcache.config= # jcache配置文件地址

    1.4K20
    领券