重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
步骤一
十年的石龙网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整石龙建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“石龙网站设计”,“石龙网站推广”以来,每个客户项目都认真落实执行。
maven需要添加下面代码:
[java] view plaincopy
dependency
groupidorg.springframework/groupid
artifactidspring-context-support/artifactid version${spring.version}/version
/dependency
以及
[java] view plaincopy
dependency
groupidnet.sf.ehcache/groupid
artifactidehcache/artifactid
version${ehcache.version}/version
/dependency
将最新版本放到占位符中: ${spring.version} 和 ${ehcache.version}
步骤二
在应用程序中将以下代码加入context.xml:
[java] view plaincopy
bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager" p:cachemanager-ref="ehcache"
bean id="ehcache" class="org.springframework.cache.ehcache. EhCacheManagerFactoryBean" p:configlocation="classpath:configuration/ehcache.xml" p:shared="true" cache:annotation-driven/cache:annotation-driven/bean/bean
步骤三
将ehcache.xml添加到类路径
一个基本的ehcache.xml入下:
[java] view plaincopy
ehcache xmlns:xsi="" xsi:nonamespaceschemalocation=""
diskstore path="java.io.tmpdir"
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、缓存类型、缓存时间。最重要的是,他开源。
?阏飧龊诵牡牡胤剑?褪莂ction这儿不去查数据库,而拿到缓存的数据再直接返回到前台嘛。核心代码逻辑就是:longobsoleteTime=1天;
List
list=cache.get(abc,
obsoleteTime);if(list==null){
list=manager.search(..);
这样的缓存策略很多的啊。比如oscache就可以达到要求,而且用起来很简单,只要一个jar,自己抽象一个cache的接口,套上去,就能用了。
1、OSCache
OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何java应用程序的普通的缓存解决方案。
OSCache有以下特点:
(1)缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
永久缓存--缓存能随意的写入硬盘,因此答应昂贵的创建(eXPensive-to-create)数据来保持缓存,甚至能让应用重启。
(2)支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。
缓存记录的过期--你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(假如默认性能不需要时)。
2、Java Caching System
JSC(Java Caching System)是一个用分布式的缓存系统,是基于服务器的java应用程序。它是通过提供治理各种动态缓存数据来加速动态web应用。
JCS和其他缓存系统一样,也是一个用于高速读取,低速写入的应用程序。
动态内容和报表系统能够获得更好的性能。
假如一个网站,有重复的网站结构,使用间歇性更新方式的数据库(而不是连续不断的更新数据库),被重复搜索出相同结果的,就能够通过执行缓存方式改进其性能和伸缩性。
3、EHCache
EHCache 是一个纯java的在进程中的缓存,它具有以下特性:快速,简单,为Hibernate2.1充当可插入的缓存,最小的依靠性,全面的文档和测试。
4、JCache
JCache是个开源程序,正在努力成为JSR-107开源规范,JSR-107规范已经很多年没改变了。这个版本仍然是构建在最初的功能定义上。
5、ShiftOne
ShiftOne Java Object Cache是一个执行一系列严格的对象缓存策略的Java lib,就像一个轻量级的配置缓存工作状态的框架。
6、SwarmCache
SwarmCache是一个简单且有效的分布式缓存,它使用ip multicast与同一个局域网的其他主机进
行通讯,是非凡为集群和数据驱动web应用程序而设计的。
SwarmCache能够让典型的读操作大大超过写操作的这类应用提供更好的性能支持。
SwarmCache使用JavaGroups来治理从属关系和分布式缓存的通讯。
扩展资料
Java中缓存存在的原因:
一 般情况下,一个网站,或者一个应用,它的一般形式是,浏览器请求应用服务器,应用服务器做一堆计算后再请求数据库,数据库收到请求后再作一堆计算后把数据 返回给应用服务器。
应用服务器再作一堆计算后把数据返回给浏览器,这个是一个标准流程。但是随着互连网的普及,上网的人越来越多,网上的信息量也越来越多。
数据库每秒中接受请求的次数也是有限的,如果利用有限的资源来提供尽可能大的吞吐量呢。一个办法:减少计算量,缩短请求流程(减少网络io或者硬盘io),这时候缓存就可以大展手脚了。
缓存的基本原理就是打破上图中所描绘的标准流程,在这个标准流程中,任何 一个环节都可以被切断.请求可以从缓存里取到数据直接返回。