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 ...
随机推荐
- go反射----1类型
声明:文章内容取自雨痕老师<Go语言学习笔记> 反射( reflect )让我们能在运行期探知对象的类型信息和内存结构,这从一定程度上弥补了静态语言在动态行为上的不足.同时,反射还是元编程 ...
- Laragon集成开发环境+配置Xdebug+postman运行Xdebug
[ Laravel 5.5 文档 ] 快速入门 —— 使用 Laragon 在 Windows 中搭建 Laravel 开发环境:http://laravelacademy.org/post/7754 ...
- Codeforces Beta Round #25 (Div. 2)--A. IQ test
IQ test time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...
- 6、easyUI-拖放事件及应用
一.EasyUI 基本的拖动和放置 直接代码看: <!doctype html> <html> <head> <meta http-equiv="C ...
- Nuske vs Phantom Thnook
Nuske vs Phantom Thnook Time limit : 4sec / Memory limit : 256MB Score : 700 points Problem Statemen ...
- EasyNVR智能云终端硬件与EasyNVR解决方案软件综合对比
背景分析 互联网视频直播越来越成为当前视频直播的大势,对于传统的安防监控,一般都是局限于内网,无法成批量上云台.传统的海康和大华的平台虽然可以通过自身私有协议上云平台 集总管控,但是往往只是支持自身的 ...
- 在VM虚拟机中安装Centos7操作系统(三)
首先我们要下载 Centos https://www.centos.org/ 这个是Centos官方 最新版本 7 https://www.centos.org/download/ 提供有 DVD安 ...
- 0x01 MySQL What's DataBase
0x01 数据库管理软件的由来 在此之前,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅能存在于某一台机器上. 如果暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在 ...
- android密码显示和隐藏
if (showPwd){ //设置EditText文本为可见的 password.setTransformationMethod(HideReturnsTransformationMethod.ge ...
- 什么是 XML Schema(转)
什么是 XML Schema? XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD. XML Schema 的作用: 定义可出现在文档中的元素 定义可出现在文档中的属性 定义 ...