首页 > 代码库 > spring mvc之spring-ehcache缓存
spring mvc之spring-ehcache缓存
对于缓存,有时候是增加效率的好方法。
<cache:annotation-driven cache-manager="cacheManager" />//开启缓存注解缓存配置
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager" p:cache-manager-ref="ehcache"> </bean> <bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" p:config-location="classpath:spring-ehcache.xml" p:shared="true"/>缓存设置
<?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect"> <!-- 设置缓存文件 .data 的创建路径。 如果该路径是 Java 系统参数,当前虚拟机会重新赋值。 下面的参数这样解释: user.home – 用户主目录 user.dir – 用户当前工作目录 java.io.tmpdir – 默认临时文件路径 --> <diskStore path="java.io.tmpdir"/> <!--缺省缓存配置。CacheManager 会把这些配置应用到程序中。 下列属性是 defaultCache 必须的: maxInMemory - 设定内存中创建对象的最大值。 eternal - 设置元素(译注:内存中对象)是否永久驻留。如果是,将忽略超 时限制且元素永不消亡。 timeToIdleSeconds - 设置某个元素消亡前的停顿时间。 也就是在一个元素消亡之前,两次访问时间的最大时间间隔值。 这只能在元素不是永久驻留时有效(译注:如果对象永恒不灭,则 设置该属性也无用)。 如果该值是 0 就意味着元素可以停顿无穷长的时间。 timeToLiveSeconds - 为元素设置消亡前的生存时间。 也就是一个元素从构建到消亡的最大时间间隔值。 这只能在元素不是永久驻留时有效。 overflowToDisk - 设置当内存中缓存达到 maxInMemory 限制时元素是否可写到磁盘 上。 --> <defaultCache maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="5000" timeToLiveSeconds="5000" overflowToDisk="true" /> <cache name="eLearnCache" maxElementsInMemory="10" eternal="false" timeToIdleSeconds="200" timeToLiveSeconds="300" overflowToDisk="true" /> </ehcache>
缓存实现
@Cacheable(value=http://www.mamicode.com/"eLearnCache",key="#root.args[0]+'findByName'")>缓存测试System.out.println(loginService.findByName(user.getName())); System.out.println(loginService.findByName(user.getName()));测试结果
com.spring.entity.User@911ed70
com.spring.entity.User@911ed70对象一致,说明缓存注入成功,对于缓存的更新要先清除缓存,以及key值得设置,笔者不一一赘述。
spring mvc之spring-ehcache缓存
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。