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 ...
随机推荐
- VC++ 汇编相关的东西
Tips: VC++在新建一个.asm文件后必须重新导入project中才能进行编译. 下面是一个汇编与C++相互调用的例子: Main.cpp #include <stdio.h> #i ...
- IOS 多线程的一些总结
IOS 多线程 有三种主要方法 (1)NSThread (2)NSOperation (3)** 下面简单介绍这三个方法 1.NSThread 调用方法如下: 如函数需要输入参数, ...
- node.js的安装与第一个hello world、node.js的初始化
1.下载node.js文件 2.windows下点击安装 重复下一步即可 3.编辑工具 EditPlus编辑器 4.新建保存目录的文件夹,并新建一个文本文档 5.打开EditPlus编辑器 打开 ...
- Linux安装mysql8.*
分别在Linux和windows上安装mysql8.* 环境 CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 第一部分 CentOS7安装mysql8 1 ...
- 关于自我总结的html5新特性
最近本包子制订了一个学校计划,第一步就是了解并总结一下html5现在所含有的新特性,好吧,这只是一个了解,- -! 自己总结了一个word文档,里面很多东西自己都还没实际用过,下一步,本包子要写pc端 ...
- GridView实现编辑删除
前台界面: <asp:GridView ID=" ForeColor="#333333" AutoGenerateColumns=" OnRowCance ...
- 巨蟒django之权限10,内容梳理&&权限组件应用
1.CRM项目内容梳理: 2.权限分配 3.权限组件的应用
- JavaScript方法splice()和slice()
1 splice() 1.1 说明 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目.该方法会改变原始数组.Link 1.2 语法 arrayObject.splice(inde ...
- rgba透明的兼容处理
background-color: rgba(0, 0, 0, .6);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr ...
- ORACLE中RECORD、VARRAY、TABLE的使用具体解释
1 说明 1.1 RECORD 定义记录数据类型. 它类似于C语言中的结构数据类型(STRUCTURE).PL/SQL提供了将几个相关的.分离的.基本数据类型的变量组成一个总 ...