springboot支持多种缓存框架,这里我用到的是springboot默认支持的环境ehcache,ehcache小巧使用简单,因此我在这里介绍一下springboot如何集成ehcache。
了解springcloud架构可以加求求:三五三六二四七二五九
1.pom.xml引入相关jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> </dependency>
2.创建ehcache.xml文件放到application.properties同目录下即可
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false"> <!—缓存路径,用户目录下的base_ehcache目录—> <diskStore path="user.home/base_ehcache"/> <defaultCache maxElementsInMemory="20000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" maxElementsOnDisk="10000000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU"/> <!—缓存文件名:cache_user,同样的可以配置多个缓存—> <cache name="cache_user" maxElementsInMemory="20000" eternal="true" overflowToDisk="true" diskPersistent="false" timeToLiveSeconds="0" diskExpiryThreadIntervalSeconds="120"/> <!— eternal:true表示对象永不过期,此时会忽略timeToIdleSeconds和timeToLiveSeconds属性,默认为false —> <!— maxEntriesLocalHeap:堆内存中最大缓存对象数,0没有限制 —> <!— timeToIdleSeconds: 设定允许对象处于空闲状态的最长时间,以秒为单位。 当对象自从最近一次被访问后,如果处于空闲状态的时间超过了timeToIdleSeconds属性值,这个对象就会过期,EHCache将把它从缓存中清空。 只有当eternal属性为false,该属性才有效。如果该属性值为0,则表示对象可以无限期地处于空闲状态 —> </ehcache>
3.加入application.properties配置
spring.cache.ehcache.config=classpath:/ehcache.xml spring.cache.type=ehcache
4.使用
我用在service层中
@Service @Transactional//事务 @CacheConfig(cacheNames = {"cache_user"})//缓存命名空间,存储在哪个缓存中 public class SysManageService implements ISysManageService { @Override @CacheEvict(cacheNames = "cache_user",allEntries=true) public void delSysConfig(String id) { 。。。 } @Override @CacheEvict(cacheNames = "cache_user",allEntries=true) public void updateSysConfig(SysConfig sc) { 。。。 } @Override @Cacheable(cacheNames="cache_user",sync = true) public SysConfig getSysConfigById(String id) { 。。。 } }
简单的介绍
1.@EnableCaching 启用缓存配置
2.@Cacheable 指定某个方法的返回值是可以缓存的。在注解属性中指定缓存规则。
参数:value、cacheNames:两个等同的参数
key:#p0表示第一个参数(第一个参数是对象的话可以调用对象的属性如#p0.id),或者用#+第一个参数名与#p0等同,要使用SpEL表达式#fx.id
condition:condition=”#name.length() < 32”
unless=”#result.hardback”
3.@Cacheput 将方法的返回值缓存到指定的key中;
例子:@CachePut(value=”cache_user”,key=”#p0.id”)//也可以用#object.id
4.@CacheEvict 删除指定的缓存数据
参数:与@cacheable相同,多出2个参数:
allEntries:非必需,默认为false。当为true时,会移除所有数据
beforeInvocation:非必需,默认为false,会在调用方法之后移除数据。当为true时,会在调用
例子:@CacheEvict(cacheNames = “cache_user”,key=”#id” ,allEntries=true)
5.@Cacheable和@Cacheput都会将方法的执行结果按指定的key放到缓存中,
6.@Cacheable在执行时,会先检测缓存中是否有数据存在,如果有,直接从缓存中读取。如果没有执行方法,将返回值放入缓存,而@Cacheput会先执行方法,然后再将执行结果写入缓存。而使用@Cacheput的方法则一定会执行。
至此springboot2.0集成ehcache就完成了,使用缓存存储常用的使用频繁的查询信息,可以提高效率,降低服务器与数据库的压力。
相关推荐
TIMO后台管理系统,基于SpringBoot2.0 + Spring Data Jpa + Thymeleaf + Shiro 开发的后台管理系统,采用分模块的方式便于开发和维护,支持前后台模块分别部署,目前支持的功能有:权限管理、部门管理、字典管理、...
Spring+EhCache实例源码,本实例的环境 eclipse + maven + spring + ehcache + junit,实例详解请访问博主博客:http://blog.csdn.net/u013142781
当我们谈论“Spring + Ehcache + Redis”两级缓存时,我们实际上是在讨论如何在Java环境中利用Spring框架来集成Ehcache作为本地缓存,并利用Redis作为分布式二级缓存,构建一个高效且可扩展的缓存解决方案。...
spring+ehcache+mabatis。测试用例用的是mysql,数据库的配置在jdbc.properties里面。所要的sql在src/main/resources下的student.sql。测试的话调用controller下的update和getOne那两个接口测试。
开源测试项目:spring mvc+springsecurity3+ehcache+bootstrap+mysql 内附MySQL表,直接导入就可运行 效果图请移步:http://blog.csdn.net/yangxuan0261/article/details/10053947
积分最低,Spring MVC+Mybatis+Ehcache+Apache Shiro+Bootstrap整合开发java仓库管理系统源码 开发环境:Eclipse ,JDK 1.8 ,Tomcat7 技术选型 后端技术 SpringMVC MVC框架 Spring Framework 容器 Apache ...
SpringMVC、MyBatis和Ehcache的整合提供了一种优秀的解决方案,这三种技术分别处理了不同的层面:SpringMVC作为MVC框架负责控制层,MyBatis作为持久层框架简化了数据库操作,而Ehcache则作为缓存系统提高了数据访问...
本后台管理系统,采用流行的框架springMvc+spring+mybatis+shiro+redis+ehcache开发,实现了权限管理(菜单权限、数据权限),solr全文搜索引擎,activiti工作流程引擎,cas单点登陆等功能,完善的代码生成器 后期还...
【Spring Boot 使用 JSP 集成 Hibernate+Shiro+Ehcache 项目详解】 Spring Boot 是一个基于 Spring 框架的高度集成了多种技术的开发工具,它简化了配置过程,使得开发人员能够快速构建可运行的应用程序。在这个项目...
Spring 和 Ehcache 是两个在Java开发中非常重要的框架。Spring 是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,使得应用程序的构建变得更加简洁和模块化。Ehcache...
Hibernate+ehcache二级缓存技术 Hibernate+ehcache二级缓存技术
自己项目的开发包集合,其中包括:缓存处理ehcache相关jar,spring MVC4.0 jar,ehcache依赖jar,以及其他jar(图像处理thumbnailator-0.4.2),包虽然不是很新但可用。实际使用时找包较为麻烦,现在整理出来,希望...
在IT行业中,Spring、iBatis和Ehcache是三个非常重要的开源框架,它们分别用于企业级应用的依赖注入、数据库操作和缓存管理。这个"spring+ibatis+ehcache整合例子"是一个完整的示例项目,展示了如何将这三个框架无缝...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等...基于Spring+JPA+Velocity+Ehcache开发的商城系统源码+数据库(结合URL重写技术静态化商城前台页面).zip
1.通过google ehcache-spring-annotatios.jar自动注解方式实现整合Spring+Ehcache。 2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。...
maven环境下如何整合spring+hibernate+mysql+ehcache的方法
【B1】Spring+SpringMVC+Ehcache+Shiro+BootStrap企业级开发平台源码下载 内置功能 用户管理 角色管理 菜单管理 字典管理 部门管理 附件管理 参数管理 连接池监视 日志管理 技术选型 1、后端 核心框架...
springboot3 + ehcache demo, this demo from git hub
springMVC+MyBatis+Ehcache项目整合 里面有几个调用的例子 还解决一般行整合出现 MyBatis事物无法回滚问题 Ehcache 以注解的方式进行整合 项目架构一般 不喜欢别骂我 没打算收你们的积分 不要问我叫什么 大家都叫我...
【Spring + Ehcache 整合应用详解】 在Java企业级开发中,缓存技术是提高系统性能的关键之一。Spring框架提供了对多种缓存机制的支持,其中包括Ehcache。本示例"spring+ehcache demo"将带你深入理解如何在Spring...