- 浏览: 396604 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tyjdzr:
程序已经运行成功,第一次接触webservice,楼主领我入门 ...
java实现webservice实例 -
guosongchao:
楼主介绍的确实简单,但是对于我这种对web service一点 ...
java实现webservice实例 -
gnail_oug:
...
java实现webservice实例 -
safedriver:
楼主真心不错
java实现webservice实例 -
Partys:
Partys 写道addArticleCategories(C ...
RESTful Web Services in Spring 3(上)
用到缓存,主要是用来解决并发问题的。
其中ehcache是一个纯Java的过程中缓存实现Hibernate2.1,Spring都支持EHcache嵌入。
本文主要写Spring中引入ehcache而不是用hibernate.
ehcache部署起来很简单,主要分两步:
1.首先要给他写个核心配置XML文件
<ehcache> <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" /> <cache name="cache1" maxElementsInMemory="10000" eternal="false" maxElementsOnDisk="1000" overflowToDisk="true" timeToIdleSeconds="300" timeToLiveSeconds="600" memoryStoreEvictionPolicy="LFU" /> </ehcache>
属性解释:
简单配置,在ehcache.xml文件中有此配置,在使用Ehcache前最好将其删除掉,自己配置。
缓存名cache1,内存中最多可缓存10000个Element,其中的element会在闲置5分钟或是存活10分钟之后失效。
超过10000element时,element将会输出到磁盘中,输出路径是java.io.tmpdir。
从其他文章找到其详细解释:
· Cache配置
· name:Cache的唯一标识
· maxElementsInMemory:内存中最大缓存对象数。
· maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大。
· eternal:Element是否永久有效,一但设置了,timeout将不起作用。
· overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中。
· timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
· timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大。
· diskPersistent:是否缓存虚拟机重启期数据。(这个虚拟机是指什么虚拟机一直没看明白是什么,有高人还希望能指点一二)。
· diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
· diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
· memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。这里比较遗憾,Ehcache并没有提供一个用户定制策略的接口,仅仅支持三种指定策略,感觉做的不够理想。
2.实际要缓存的类调用
写一个实例类,这样大家就明白差不多了:
import java.io.Serializable; import net.sf.ehcache.Cache; import net.sf.ehcache.CacheManager; import net.sf.ehcache.Element; public class Demo { static CacheManager manager= new CacheManager(); /** *############################################################################## * * @DESCRIBE * @param args * @throws InterruptedException * *############################################################################## */ public static void main(String[] args) throws InterruptedException { String[] cacheNames = manager.getCacheNames(); System.out.println("读取的缓存列表为:"); for(int i=0;i<cacheNames.length;i++){ System.out.println("-- "+(i+1)+" "+cacheNames[i]); } Cache cache = manager.getCache("cache1"); Element element = new Element("key1", "value1"); cache.put(element); element = cache.get("key1"); Serializable value = element.getValue(); System.out.println("序列化后的值为:"+value.toString()); element = cache.get("key1"); Object value1 = element.getObjectValue(); System.out.println("未序列化的值为:"+value1.toString()); int elementsInMemory = cache.getSize(); System.out.println("得到缓存的对象数量:"+elementsInMemory); long elementsInMemory1 = cache.getMemoryStoreSize(); System.out.println("得到缓存对象占用内存的数量:"+elementsInMemory1); long elementsInMemory2 = cache.getDiskStoreSize(); System.out.println("得到缓存对对象占用磁盘的数量:"+elementsInMemory2); int hits = cache.getHitCount(); System.out.println("得到缓存读取的命中次数:"+hits); int hits1 = cache.getMemoryStoreHitCount(); System.out.println("得到内存中缓存读取的命中次数:"+hits1); int hits2 =cache.getDiskStoreHitCount(); System.out.println("得到磁盘中缓存读取的命中次数:"+hits2); int hits3 = cache.getMissCountNotFound(); System.out.println("得到缓存读取的丢失次数:"+hits3); int hits4 = cache.getMissCountExpired(); System.out.println("得到缓存读取的已经被销毁的对象丢失次数:"+hits4); } }
另:附件里需要的ehcache.jar包
- ehcache.jar (227.5 KB)
- 下载次数: 2143
发表评论
-
spring框架下配置lucene
2012-02-21 15:34 8598最近这的是投入不少精力在lucene身上,学到一点心得,留此文 ... -
Task Scheduling Simplifications in Spring 3.0
2011-05-19 14:47 2581简单说下基本配置: applicationContex ... -
安装ActiveMQ
2011-04-18 10:28 1204安装activeMQ前先升级jdk到6U24 cd /App ... -
ECLIPSE远程DEBUG
2011-04-18 10:07 1424在服务器上添加监听端 ... -
apache的commons-net实现FTP上传,下载文件
2011-04-15 11:25 2693不多说,上代码: package com.book.s ... -
tdd:测试驱动WEB组件
2011-04-05 21:37 1699相信大家有好多人会使用JUNIT进行单元测试了,但是在WEB开 ... -
利用GeneratedKeyHolder获得新建数据主键值
2010-12-24 14:37 7105有时候我们向DB新插入一条数据,都需要获取对应的主键值。在采用 ... -
dbunit解决XML数据中必须表首行有相应字段问题
2010-11-30 09:51 1700DbUnit设计理念: 熟悉单 ... -
jMock Cookbook 中文版
2010-04-29 10:06 2039他娘的,中文版啊!爽,坚决分享! 这里不多介绍JMOC ... -
linux下配置JDK,tomcat
2010-02-26 15:34 1010转自:http://blog.csdn.net/strivem ... -
hsqldb
2010-02-25 00:02 1220import java.sql.Connection; im ... -
RESTful Web Services in Spring 3(下)
2010-02-23 13:44 5596上一篇我主要发了RESTful Web Services in ... -
RESTful Web Services in Spring 3(上)
2010-02-23 10:19 11258通过本文,我将介绍REST的特点,基本设计原则及其简单讲解,最 ... -
spring3实现MVC的rest
2010-02-07 15:21 8496首先配置WEB.XML: <?xml versi ... -
使用 Spring 2.5 基于注解驱动的 Spring MVC
2010-02-07 13:09 855来自地址:https://www.ibm. ... -
log4j配置
2010-01-28 14:07 1126<!-- logging begin--> ... -
java中org.apache.commons.digester类用法
2010-01-28 10:52 1477xml文件内容: <?xml version=& ... -
lucene的索引建立及查找
2010-01-27 11:03 1009package lucene; import org.a ... -
java实现webservice实例
2010-01-25 18:48 131676今天下午突然想研究下WEBSERVICE,从网上找了好多实例, ... -
Hibernate批量插入的方法
2010-01-22 14:46 1464Session session = sessionFact ...
相关推荐
ehcache缓存jar(ehcache-core-2.4.6.jar+ehcache-web-2.0.4.jar)
ehcache的依赖包,使用ehcache缓存机制必备
ehcache.jar 缓存jar
ehcache缓存的jar包和配置文件。
2、由于要实现Ehcache缓存页面,所以必须要添加“ehcache-web-2.0.4.jar” jar包,该jar包主要用于辅助Ehcache实现页面缓存 注意: 本web工程的发布不要使用Tomcat7,否则会出现如下异常: 2015-3-25 9:53:50 org....
cglib-2.2.jar,ehcache-spring-annotations-1.1.2.jars 开发spring缓存机制必备两jar包
hibernate-ehcache-4.1.0.Final.jar 是hibernate4.1使用缓存的jar包
ehcache-core-2.6.10.jar依赖包 MyBatiesEhCache二级缓存 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个...
ehcache-core-2.6.8.jar mybatis 开发缓存文件配合使用jar包
ehcache.jar 用于缓存机制的加入。ehcache.jar 用于缓存机制的加入。
EhCache纯Java的进程内缓存框架,快速、精干。最新版本请访问官网。
ehcache-core-2.6.11.jar
EHCache 的特点,系统要求及安装 是一个纯Java ,过程中(也可以理解成插入式)缓存实现 Hibernate2.1,Spring支持EHcache嵌入
ehcache缓存所需jar包!!
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,...
2. 二级缓存与一级缓存其机制相同,默认也是采用 PerpetualCache,HashMap存储,不同在于其存储作用域为 Mapper(Namespace),并且可自定义存储源,如 Ehcache。3. 对于缓存数据更新机制,当某一个作用域(一级缓存...
2.将ehcache.xml放入能加载到classpath中的任意包中,不能放入WEB-INF中(其详细配置参数代表含义已经注释) 3.在工程中web.xml配置过滤器 <filter-name>SimplePageCachingFilter <filter-class>...
1.解压缩到目录下,复制ehcache-monitor-kit-1.0.0\lib\ehcache-probe-1.0.0.jar包到application的web-inf/lib目录下 2.将以下配置copy的ehcache.xml文件的ehcache标签中,注:上述链接中说的配置少写了个probe包名...
ehcache-core.jar 各个版本,免费下载。 ehcache.jar 各个版本,免费下载。 ehcache-core.jar 第三方缓存整合适配包,各个版本,免费下载。
ehcache-core.jar 各个版本,免费下载。 ehcache.jar 各个版本,免费下载。 ehcache-core.jar 第三方缓存整合适配包,各个版本,免费下载。