echache缓存的简单使用方法
1、需要echache的jar包
2、需要配置文件ehcache.xml和ehcache.xsd,主要是在ehcache.xml中进行配置
3、修改配置文件ehcache.xml ,例如添加配置如下:
<cache name="memoryCache"
maxElementsInMemory="500" <!-- 最大缓存数量 -->
eternal="true" <!-- 在内存中永久存在,由于此处设置为true,所以以下两个参数无效 -->
timeToIdleSeconds="3600"
timeToLiveSeconds="7200"
overflowToDisk="false"/> <cache name="reportCache"
maxElementsInMemory="500"
eternal="false" <!-- 不在内存中永久存在 -->
timeToIdleSeconds="3600" <!-- 一个小时之内不再用到这个缓存就清理 -->
timeToLiveSeconds="7200" <!-- 两个小时以后不管是否用到这个缓存都会被清理 -->
overflowToDisk="false"/> <!-- 当超过500是不会写入磁盘 --> <cache name="diskCache" <!-- 以上两种都是内存缓存,这里配置的是磁盘缓存 -->
maxElementsInMemory="10000"
overflowToDisk="true" <!-- 当内存中超过10000, 就写入磁盘 -->
eternal="false"
memoryStoreEvictionPolicy="LRU" <!-- 这里配置的是清除缓存时的策略 -->
maxElementsOnDisk="10000000"
diskExpiryThreadIntervalSeconds="600"
timeToIdleSeconds="3600"
timeToLiveSeconds="100000"
diskPersistent="false" /> <!-- 不是磁盘永存 -->
这里就建立了三种缓存形式
4、可以建立一个或者多个独立的类,用于对应配置文件中的配置,例如:
package com.cetc32.cache; import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element; public class ReportCache {
private static ReportCache reportCache = null;
private static Cache cache = null; //实现单例模式
public static ReportCache getInstance() {
if(reportCache == null) {
reportCache = new ReportCache();
}
return reportCache;
} //private Cache cache; public ReportCache() {
String path = this.getClass().getResource("/config/ehcache.xml").getFile(); CacheManager manager = CacheManager.create(path);
cache = manager.getCache("reportCache");
} /**
* 设置缓存
* @param key
* @param o
*/
public void setReportCache(String key, Object o) { Element element = new Element(key, o);
cache.put(element); } /**
* 从缓存中获得结果
* @param key
* @return
*/
public Object getReportCache(String key) {
Element aa = cache.get(key);
Object r = null;
if (aa != null) {
r = aa.getObjectValue();
}
return r; } /**
* 清除某个缓存
* @param key
*/
public boolean removeReportCache(String key) {
return cache.remove(key);
} /**
* 清空全部缓存
*/
public void removeAllReportCache() {
cache.removeAll();
} /**
* @return the cache
*/
public Cache getCache() {
return cache;
} }
这里采用的是单例模式,应用中一个实例即可
6、在程序中使用 ReportCache reportCache = ReportCache.getInstance(); 获取实例就可以进行缓存操作了。
echache缓存的简单使用方法的更多相关文章
- C#中缓存的简单方法及使用Sql设置缓存依赖项
概述 使用Cache高速缓存可以提高数据的读取速度,减少服务器与客户端之间的数据交互.因为Cache一经创建就会占用服务器上的资源,所以Cache并不是越多越好,一般用于数据较固定,使用较频繁的地方. ...
- 使用Spring缓存的简单Demo
使用Spring缓存的简单Demo 1. 首先创建Maven工程,在Pom中配置 <dependency> <groupId>org.springframework</g ...
- [转]分享php中四种webservice实现的简单架构方法及实例
FROM : http://www.itokit.com/2012/0417/73615_2.html 本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的P ...
- 分享php中四种webservice实现的简单架构方法及实例
一:PHP本身的SOAP所有的webservice都包括服务端(server)和客户端(client).要使用php本身的soap首先要把该拓展安装好并且启用.下面看具体的code首先这是服务端实现: ...
- 分享php中四种webservice实现的简单架构方法及实例(转)
本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC,以及使用二进制传输数据流的 HessianPHP,那么一下就简单的介绍下这几种webserv ...
- 分享php中四种webservice实现的简单架构方法及实例[转载]
[转载]http://www.itokit.com/2012/0417/73615.html 本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC ...
- Nginx负载均衡配置简单配置方法
http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...
- 一个极为简单的方法实现本地(离线)yum安装rpm包
首先,我要关心的问题仍然是如何离线或者本地yum安装rpm包?这其中的关键当然是获取rpm包到本地,这其中的麻烦事是去解析依赖关系.然而,我发现一个极为简单的方法可以不用操心rpm包依赖关系,不多不少 ...
- iOS 处理缓存的三种方法
缓存处理是个相当头疼的事情,要根据需要综合应用不同的策略.总的来说有以下几种情况: 1.URL缓存,例如社交应用的帖子浏览,要在viewDidAppear:里面进行URL缓存.简单来说就是用NSURL ...
随机推荐
- STL常用的容器
vector:相当于一个不定长数组. vector的扩充机制是按照现在容量的一倍进行增长,每次增长是重新申请一块更大的心内存,并把现在容器中的元素逐个复制过去,然后销毁旧的内攒 1.头文件: #inc ...
- nyoj677 谍战
本题能够说是最小割入门级题目. 假设能想到是最小割问题.那么建图思路便是水到渠成的事了. 加入一个源点S和汇点T: 把S与每一个间谍相连.容量为无穷大: 把城市N(即飞机场的位置)与汇点T相连.容量为 ...
- Docker学习(2Docker基本命令 )
1.首先我们需要明确在docker中需要了解的一些基础知识 Docker虚拟化有三个概念需要理解,分别镜像.容器.仓库. 1) 镜像:docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个 ...
- java笔记十:java中的反射
Java中,反射是一种强大的工具.它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接.反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而 ...
- hdu 4617 Weapon【异面直线距离——基础三维几何】
链接: http://acm.hdu.edu.cn/showproblem.php?pid=4617 Weapon Time Limit: 3000/1000 MS (Java/Others) ...
- MogoDB 分片键
MongoDB 根据分片键分割 collection 中的文档,然后分配到分片集群的成员中. 分片键可以是一个存在于每个文件中的索引字段或者复合索引字段. MongoDB 使用不同范围的分片键值来分割 ...
- 防sql注入之参数绑定 SQL Injection Attacks and Defense
http://php.net/manual/zh/pdo.prepared-statements.php 预处理语句与存储过程 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作 ...
- 高德地图API使用
1.根据地址找经纬度/修改经纬度 marker.setPosition(result.geocodes[0].location); map.setCenter(marker.getPosition() ...
- JS续
JS中的事件 [JS中的事件分类] * 1.鼠标事件: * click/dbclick/mouseover/mouseout/mousemove/mousedown/mouseup * * 2.键盘事 ...
- cxGrid时间格式与导出Excel
引用cxFormats单元: ShortDateFormat := 'dd/mm/yyyy'; DateSeparator := '/'; cxFormatController.UseDelphiDa ...