表 1. @Cacheable 作用和配置方法
@Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存
@Cacheable 主要的参数 | ||
value | 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 |
例如: value=”mycache”) 或者 value={”cache1”,”cache2”} |
key |
缓存的 key,可以为空,如果指定要按照 SpEL 表达式编写, 如果不指定,则缺省按照方法的所有参数进行组合 |
例如: value=”testcache”, key=”#userName”) |
condition |
缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false, 只有为 true 才进行缓存 |
例如: value=”testcache”, condition=”#userName.length()>2”) |
表 2. @CachePut 作用和配置方法
@CachePut 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存,和 @Cacheable 不同的是,它每次都会触发真实方法的调用
@CachePut 主要的参数 | ||
value | 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 | 例如: @Cacheable(value=”mycache”) 或者 @Cacheable(value={”cache1”,”cache2”} |
key | 缓存的 key,可以为空,如果指定要按照 SpEL 表达式编写,如果不指定,则缺省按照方法的所有参数进行组合 | 例如: @Cacheable(value=”testcache”,key=”#userName”) |
condition | 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才进行缓存 | 例如: @Cacheable(value=”testcache”,condition=”#userName.length()>2”) |
表 3. @CacheEvict 作用和配置方法
@CachEvict 的作用 主要针对方法配置,能够根据一定的条件对缓存进行清空
@CacheEvict 主要的参数 | ||
value | 缓存的名称,在 spring 配置文件中定义,必须指定至少一个 | 例如: @CachEvict(value=”mycache”) 或者 @CachEvict(value={”cache1”,”cache2”} |
key | 缓存的 key,可以为空,如果指定要按照 SpEL 表达式编写,如果不指定,则缺省按照方法的所有参数进行组合 | 例如: @CachEvict(value=”testcache”,key=”#userName”) |
condition | 缓存的条件,可以为空,使用 SpEL 编写,返回 true 或者 false,只有为 true 才清空缓存 | 例如: @CachEvict(value=”testcache”, condition=”#userName.length()>2”) |
allEntries | 是否清空所有缓存内容,缺省为 false,如果指定为 true,则方法调用后将立即清空所有缓存 | 例如: @CachEvict(value=”testcache”,allEntries=true) |
beforeInvocation | 是否在方法执行前就清空,缺省为 false,如果指定为 true,则在方法还没有执行的时候就清空缓存,缺省情况下,如果方法执行抛出异常,则不会清空缓存 | 例如: @CachEvict(value=”testcache”,beforeInvocation=true) |
相关推荐
1、SpringCache是Spring提供的一个缓存框架,在Spring3.1版本开始支持将缓存添加到现有的spring应用程序中,在4.1开始,缓存已支持JSR-107注释和更多自定义的选项 2、Spring Cache利用了AOP,实现了基于注解的缓存...
总的来说,Spring Cache 是一个强大且灵活的缓存抽象层,它降低了缓存的使用门槛,同时也提供了足够的扩展性以适应复杂的缓存需求。在实际应用中,结合其他缓存系统,如 EhCache 或 Redis,可以构建出高效可靠的...
简单的Spring Memcached 一个通过注释在Spring bean中启用... 该项目通过在 , 或客户端之上使用Java 5注释和Spring / AspectJ AOP来启用Spring管理的bean中的缓存。 使用Simple Spring Memcached仅需要一点点配置
四、Spring Cache注解使用 1. `@Cacheable`:用于缓存方法的结果,当方法被调用时,会检查是否有缓存中的数据,如果有则直接返回,否则执行方法并将结果存入缓存。 2. `@CacheEvict`:用于清除缓存,可以在方法执行...
它提供的注释比Spring Cache中的注释更强大。 JetCache中的注释支持本地TTL,两级缓存和分布式自动刷新,您也可以手动编写Cache实例。 当前有四个工具: RedisCache , TairCache (在github上不是开源的), ...
7. 性能优化:为了提升系统性能,可能需要实施缓存策略(如使用Spring Cache或Redis)、数据库连接池(如Druid或HikariCP)、以及合理的数据库索引设计。 8. 扩展性与维护性:采用模块化设计,每个功能模块独立,...
作为用户在Spring MVC测试中使用注释运行 108 12.2.4测试HTTP基本认证 109 12.3 SecurityMockMvcRequestBuilders 109 12.3.1测试基于表单的认证 109 12.3.2测试注销 110 12.4 SecurityMockMvcResultMatchers 110 ...
根据提供的文件信息,以下是...以上知识点涵盖了Spring 3.x版本的主要特性和功能,是了解和深入学习Spring框架的重要资源。由于文档是中文翻译版本,对于希望使用中文资源进行学习的开发者来说,是一份不可多得的资料。
Spring Memcache 示例一个开箱即用的小示例,用于演示在 Spring MVC 驱动的 REST API 上使用 Spring 的@Cache注释。使用的库以下是演示中使用的最重要库的列表: 图书馆版本评论弹簧框架4.1.2. 发布弹簧芯弹簧数据-...
gigaspaces-spring-cacheable GigaSpaces XAP的实现。 这为Spring应用程序中的方法提供了对@Cacheable批注的支持。... 对于缓存声明,抽象提供了两个Java注释:@Cacheable和@CacheEvict,它们允许
缓存弹簧启动启动器 缓存Spring Book Edition 支持功能: 快取 清除缓存 快取: 提供1级JVM缓存和2级Redis缓存可以在集群中使用 ... < artifactId>cache-spring-boot-starter < version>1.1.0-RELEASE </ depen
7. **注释**:项目中带有注释,这有助于理解代码的意图和工作原理,对于学习和维护都非常有帮助。 8. **依赖的JAR文件**:项目可能包含了所有必要的库文件,如Spring、Hibernate、Ehcache及相关依赖的JAR,确保项目...
找不到符号 符号: 类 AnnotationCacheAspect 位置: 类 org.springframework.cache.aspectj.AspectJCachingConfiguration (请看我发布的其他文章) 有需要学习读spring源码的同志可以下载学习,组建自己的注释,方便...
2. 修改 spring-cache.xml 文件,配置自己的redis链接 3. 修改 jdbc.properties 文件,配置自己的mysql数据库链接 4. 修改 spring-elasticsearch 文件,配置自己的ElasticSearch集群设置 5. 如果需要自定义一些配置...
主要是为了引入时间等字段,来试验一下struts2的时间标签是否好用.这次为了做成一个好点的实例.所以换掉了表结构.为歌词表.并附带2万首歌词的数据库.因为歌词插入数据太大.所以单另上传了.如果不需要这两万条数据的...
今天修改了 applicationContext.xml,以后的事务控制就万事大吉了,里面有详细注释哦。 有什么问题可以给我留言 ^_^,大家一起进步! <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" ...
* Spring Boot Starter Cache:提供了基础的缓存机制 * Spring Boot Starter Actuator:提供了应用程序的监控和管理功能 * Spring Boot Starter Web:提供了 Web 应用程序的基本功能 * Hazelcast-all:提供了 ...
- 后端主要框架:SpringMVC+Spring+MybatisPlus+Shiro+Redis - 后端使用Redis做分布式session 与 分布式缓存 - 使用 Quartz作为任务调度方案 - 使用ElasticSearch作为全文检索与数据分析方案 搭建说明 1. 将下载的...
在SpringBoot中,权限验证可以通过AOP来实现,例如使用Spring Security框架。你可以定义一个切面来检查用户是否有执行某个操作的权限。`@PreAuthorize`和`@PostAuthorize`是Spring Security提供的注解,它们可以在...
6. **缓存管理**:使用Spring Cache抽象,可以集成如Redis或Hazelcast等缓存解决方案,提高数据访问速度,减轻数据库压力。 7. **日志记录**:Spring Boot默认集成了Logback或Log4j2作为日志框架,便于记录系统运行...