- 浏览: 399127 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 8623最近这的是投入不少精力在lucene身上,学到一点心得,留此文 ... -
Task Scheduling Simplifications in Spring 3.0
2011-05-19 14:47 2613简单说下基本配置: applicationContex ... -
安装ActiveMQ
2011-04-18 10:28 1231安装activeMQ前先升级jdk到6U24 cd /App ... -
ECLIPSE远程DEBUG
2011-04-18 10:07 1462在服务器上添加监听端 ... -
apache的commons-net实现FTP上传,下载文件
2011-04-15 11:25 2724不多说,上代码: package com.book.s ... -
tdd:测试驱动WEB组件
2011-04-05 21:37 1734相信大家有好多人会使用JUNIT进行单元测试了,但是在WEB开 ... -
利用GeneratedKeyHolder获得新建数据主键值
2010-12-24 14:37 7158有时候我们向DB新插入一条数据,都需要获取对应的主键值。在采用 ... -
dbunit解决XML数据中必须表首行有相应字段问题
2010-11-30 09:51 1727DbUnit设计理念: 熟悉单 ... -
jMock Cookbook 中文版
2010-04-29 10:06 2063他娘的,中文版啊!爽,坚决分享! 这里不多介绍JMOC ... -
linux下配置JDK,tomcat
2010-02-26 15:34 1034转自:http://blog.csdn.net/strivem ... -
hsqldb
2010-02-25 00:02 1266import java.sql.Connection; im ... -
RESTful Web Services in Spring 3(下)
2010-02-23 13:44 5646上一篇我主要发了RESTful Web Services in ... -
RESTful Web Services in Spring 3(上)
2010-02-23 10:19 11311通过本文,我将介绍REST的特点,基本设计原则及其简单讲解,最 ... -
spring3实现MVC的rest
2010-02-07 15:21 8517首先配置WEB.XML: <?xml versi ... -
使用 Spring 2.5 基于注解驱动的 Spring MVC
2010-02-07 13:09 891来自地址:https://www.ibm. ... -
log4j配置
2010-01-28 14:07 1150<!-- logging begin--> ... -
java中org.apache.commons.digester类用法
2010-01-28 10:52 1511xml文件内容: <?xml version=& ... -
lucene的索引建立及查找
2010-01-27 11:03 1037package lucene; import org.a ... -
java实现webservice实例
2010-01-25 18:48 131833今天下午突然想研究下WEBSERVICE,从网上找了好多实例, ... -
Hibernate批量插入的方法
2010-01-22 14:46 1504Session session = sessionFact ...
相关推荐
ehcache缓存jar(ehcache-core-2.4.6.jar+ehcache-web-2.0.4.jar)
总之,Ehcache是一个强大的缓存解决方案,通过`ehcache-core-2.5.2.jar`和`ehcache-core-2.5.2-sources.jar`这两个文件,开发者不仅可以使用Ehcache提供的高效缓存服务,还能深入了解其内部机制,进行定制和优化,...
同时,还需要在EHcache的配置文件(如`ehcache.xml`)中声明具体的缓存: ```xml <cache name="com.example.YourEntityClass" maxEntriesLocalHeap="1000" eternal="false" timeToIdleSeconds="120" ...
下面将详细介绍Ehcache的核心概念、配置以及如何在项目中使用。 1. Ehcache核心概念: - 缓存:缓存是存储临时数据的地方,以便快速检索。Ehcache提供内存和磁盘存储,可以设置不同的缓存策略。 - 缓存管理器...
为了使用Ehcache,开发者需要在项目中配置Ehcache的XML配置文件,定义缓存区域、大小、过期策略等参数。然后通过Ehcache提供的API在代码中存取缓存数据。同时,需要在类路径下包含SLF4J的API和绑定实现,确保日志...
`ehcache-spring-annotations-1.1.2.jar`则是Ehcache与Spring集成的特定版本,它允许开发者通过注解轻松地在Spring应用中启用和配置Ehcache缓存。 **Spring缓存抽象** 提供了一种统一的方式来管理和控制缓存,无论...
首先,`ehcache-1.5.0.jar` 是 Ehcache 的一个早期版本,Ehcache 是一个广泛使用的Java内存缓存系统。它允许开发者将数据存储在内存中,以提高应用程序的性能,减少对数据库的访问。Ehcache 提供了缓存管理功能,...
"ehcache缓存依赖的jar"这个标题暗示我们将讨论Ehcache的核心库及其依赖关系。 Ehcache的核心JAR文件是`ehcache.jar`,它包含了Ehcache的所有核心组件和接口。这个文件提供了缓存管理、缓存配置、缓存策略(如LRU、...
2、由于要实现Ehcache缓存页面,所以必须要添加“ehcache-web-2.0.4.jar” jar包,该jar包主要用于辅助Ehcache实现页面缓存 注意: 本web工程的发布不要使用Tomcat7,否则会出现如下异常: 2015-3-25 9:53:50 org....
ehcache.jar 缓存jar
ehcache-core-2.6.10.jar依赖包 MyBatiesEhCache二级缓存 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个...
在使用Ehcache-web-2.0.4-distribution.gz时,开发者通常会解压压缩包,然后根据项目需求配置ehcache.xml文件,定义缓存区域、大小、过期时间等参数。同时,可以通过Web管理界面监控缓存性能,调整配置以优化应用...
这样,MyBatis就会为这些方法启用Ehcache缓存: ```java @CacheNamespace(implementation = org.mybatis.caches.ehcache.EhcacheCache.class) public interface UserMapper { // ...查询方法... } ``` 5. **...
在解压后,你可以找到Ehcache的JAR文件、文档、示例代码和配置文件等,这些资源可以帮助开发者理解和使用Ehcache。 Ehcache的核心特性包括内存管理策略,如LRU(Least Recently Used)和LFU(Least Frequently Used...
1. **XML配置**:Ehcache可以通过XML文件进行配置,包括设置缓存大小、过期策略、缓存管理器属性等。 2. **编程式配置**:除了XML,还可以在代码中动态创建和配置缓存。 3. **API接口**:Ehcache提供了丰富的API,如...
hibernate-ehcache-4.1.0.Final.jar 是hibernate4.1使用缓存的jar包
Ehcache的核心是`ehcache-core-2.6.8.jar`,它提供了缓存管理的基本功能,如缓存创建、缓存策略配置以及缓存项的生命周期管理。在描述中提到的`java ehcache core 2.6.8.jar`是Ehcache的这一核心组件的特定版本。 `...
ehcache-core-2.6.8.jar mybatis 开发缓存文件配合使用jar包
1. **核心概念**:Ehcache的核心包括缓存管理器(Cache Manager)、缓存(Cache)、缓存项(Cache Entry)和缓存配置。缓存管理器是整个缓存系统的入口,负责创建和管理缓存;缓存则是存储数据的地方,可以设置缓存...
ehcache.jar 用于缓存机制的加入。ehcache.jar 用于缓存机制的加入。