ehcache主要是对数据库访问的缓存,相同的查询语句只需查询一次数据库,从而提高了查询的速度
oscache 主要是对页面的缓存,可以整页或者指定网页某一部分缓存,同时指定他的过期时间,这样在此时间段里面访问的数据都是一样的
hibernate2以前提倡用ehcache
hibernate3后提倡oscache,
java目前常用的缓存:
Generic
JCache (JSR-107) (EhCache 3, Hazelcast, Infinispan, etc)
EhCache 2x
Hazelcast
Infinispan
Couchbase
Redis
Caffeine
Guava (deprecated)
Simple
建议使用spring boot集成方式,可插拔,简单。
集中式缓存适用场景:
1、服务器集群部署。
2、数据高一致性(任何数据变化都能及时的被查询到)
分布式缓存适用场景:
系统需要缓存的数据量大
对数据的可用性较高的情况
需要横向扩展,从而达到缓存的容量无限的要求
步骤一
maven需要添加下面代码:
[java] view plaincopy
<dependency>
<groupid>orgspringframework</groupid>
<artifactid>spring-context-support</artifactid> <version>${springversion}</version>
</dependency>
以及
[java] view plaincopy
<dependency>
<groupid>netsfehcache</groupid>
<artifactid>ehcache</artifactid>
<version>${ehcacheversion}</version>
</dependency>
将最新版本放到占位符中: ${springversion} 和 ${ehcacheversion}
步骤二
在应用程序中将以下代码加入contextxml:
[java] view plaincopy
<bean id="cacheManager" class="orgspringframeworkcacheehcacheEhCacheCacheManager" p:cachemanager-ref="ehcache">
<bean id="ehcache" class="orgspringframeworkcacheehcache EhCacheManagerFactoryBean" p:configlocation="classpath:configuration/ehcachexml" p:shared="true"> <cache:annotation-driven></cache:annotation-driven></bean></bean>
步骤三
将ehcachexml添加到类路径
一个基本的ehcachexml入下:
[java] view plaincopy
<ehcache xmlns:xsi="" xsi:nonamespaceschemalocation="">
<diskstore path="javaiotmpdir">
<defaultcache>
<cache name="yourCache" maxelementsinmemory="10000" eternal="false" timetoidleseconds="1800" timetoliveseconds="1800" maxelementsondisk="10000000" diskexpirythreadintervalseconds="1800" memorystoreevictionpolicy="LRU"> <persistence strategy="localTempSwap"> </persistence></cache>
</defaultcache></diskstore></ehcache>
步骤四
最后一步,使用注释,非常简单,一行代码:
[html] view plaincopy
@Cacheable(value = "youCache")
这个注释可以使用任何方法,默认情况下在缓存哈希图中,它使用方法参数作为key。
现在,谁说Java要写长篇的代码?
EhCache介绍:
在这次实践中使用了EhCache,它强大、高度可定制化,可以根据需要设置任何key、缓存类型、缓存时间。最重要的是,他开源。
以上就是关于ehcache 如何缓存有条件的缓存全部的内容,包括:ehcache 如何缓存有条件的缓存、JAVA目前比较常用的缓存有哪些 集中式缓存与分布式缓存有何区别 它们应用场景是、谁说Java代码多,5分钟搞定App缓存等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)