EHCache 初步使用指南
EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。
下图是 Ehcache 在应用程序中的位置:
主要的特性有:
1. 快速.
2. 简单.
3. 多种缓存策略
4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题
5. 缓存数据会在虚拟机重启的过程中写入磁盘
6. 可以通过RMI、可插入API等方式进行分布式缓存
7. 具有缓存和缓存管理器的侦听接口
8. 支持多缓存管理器实例,以及一个实例的多个缓存区域
9. 提供Hibernate的缓存实现
10. 等等
http://nakata-yf.iteye.com/blog/23536
EHCache 初步使用指南
HibernateCacheXMLApache配置管理
写的比较初级,后续将加入对配置文件,内存/磁盘存储,优化,虚拟机宕机,日志等的说明
1. EHCache 的特点,系统要求及安装
是一个纯Java ,过程中(也可以理解成插入式)缓存实现
Hibernate2.1,Spring支持EHcache嵌入,自我感觉Hibernate2.1 + EHCache 很过瘾。。(测试结果比Hibernate+JCS 好多了)
支持多CPU服务器
其版本发布前进行了产品级测试
支持:运行环境jdk1.2到5版本(源代码编译需1.4或1.5 版本)
jdk1.4和1.5 版本,需加入apache 的 commons-logging类库 http://jakarta.apache.org/commons/logging.html
jdk1.2和1.3 版本,需加入commons-collections 2.1 版本 http://jakarta.apache.org/commons/collections.html
和 xerces (xml-apis.jar and xercesImpl.jar), 2.5 版本 http://xml.apache.org/xerces2-j/
如果运行环境为IBM JDK1.4版本上的IBM Websphere 5.1,也需加入 commons-collections 类库(如需要)
单独安装Ehcache ,需把ehcache-X.X.jar 和相关类库方到classpath中。
如项目已安装了Hibernate2.1 ,则不需要做什么。。直接可以使用Ehcache
Cache 存储方式 :内存或磁盘
2. 单独使用 EHCache
使用CacheManager 创建并管理Cache
使用默认配置文件创建
CacheManager manager = CacheManager.create();
使用指定配置文件创建
CacheManager manager = CacheManager.create("src/config/ehcache.xml");
从classpathq找寻配置文件并创建
URL url = getClass().getResource("/anothername.xml");
CacheManager manager = CacheManager.create(url);
通过输入流创建
InputStream fis = new FileInputStream(new File("src/config/ehcache.xml").getAbsolutePath());
try {
manager = CacheManager.create(fis);
} finally {
fis.close();
}
卸载CacheManager ,关闭Cache
manager.shutdown();
使用Caches
取得配置文件中预先 定义的sampleCache1设置,生成一个Cache
Cache cache = manager.getCache("sampleCache1");
设置一个名为test 的新cache,test属性为默认
CacheManager manager = CacheManager.create();
manager.addCache("test");
设置一个名为test 的新cache,并定义其属性
CacheManager manager = CacheManager.create();
Cache cache = new Cache("test", 1, true, false, 5, 2);
manager.addCache(cache);
往cache中加入元素
Element element = new Element("key1", "value1");
cache.put(new Element(element);
从cache中取得元素
Element element = cache.get("key1");
3. 在 Hibernate 中运用EHCache
hibernate.cfg.xml中需设置如下:
2.1版本加入
net.sf.ehcache.hibernate.Provider
2.1以下版本加入
net.sf.hibernate.cache.EhCache
在 Hibernate 映射文件的每个需要Cache的Domain中
name="com.somecompany.someproject.domain.Country"
table="ut_Countries"
dynamic-update="false"
dynamic-insert="false"
>
...
加入类似如下格式信息:
比如:
然后在ehcache.xml中加入
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
overflowToDisk="false"
/>
EHCache 初步使用指南相关推荐
- java中使用ehache_EHCache 初步使用指南
EHCache 初步使用指南- - 1. EHCache 的特点,系统要求及安装 是一个纯Java ,过程中(也可以理解成插入式)缓存实现 Hibernate2.1,Spring支持EHcache嵌入 ...
- 青云MR集群初步使用指南
青云和阿里云一样,都是云服务提供商,能为我们提供强大的云端数据存储和处理能力,同时也有很多针对特定应用场景的产品解决方案,收费也合理.接下来我们介绍一下第一次如何使用青云提供的qing MR集群,如何 ...
- google protobuf使用
google protobuf使用 下载的是github上的:https://github.com/google/protobuf If you get the source from github, ...
- 所属技术领域技术人员的知识和能力
这篇文章的观点我很赞同,为防止丢失原文链接,转载至此. 原文链接http://www.nipso.cn/onews.asp?id=19910 以下是原文: 所属技术领域的技术人员,也可称为本领域的技术 ...
- 海量电脑资料17CD
eMule下载 ed2k://|file|电子书库目录.rar|36991|1CCECFE5D299EFBA49045D7DBD6ED891|h=Y63ITWQGOLVNL4BEIEYAWK6EZYD ...
- Stripe 银行卡支付功能初步指南(Java)
Stripe 国外银行卡支付功能指南(Java) 简介 编写这篇文章的目的就是~~没有什么目的.网上关于stripe银行卡支付代码很多,有写得很好的,但是太多太杂了,不系统.所以我就结合项目中实际应用 ...
- powerbi使用说明_微软Power BI入门指南(1):Power BI初步介绍
来源:数据之巅链接:http://www.cnblogs.com/asxinyu/p/Power_BI_GettingStarted_English_Intro.html 我们在前一篇文章微软新神器- ...
- python初步入门_Python 入门指南
Python 入门指南¶ Release:3.6.3 Date:Dec 10, 2017 Python 是一门简单易学且功能强大的编程语言.它拥有高效的高级数据结构,并且能够用简单而又高效的方式进行面 ...
- 数据仓库工具箱维度建模权威指南-第一章 数据仓库、商业智能及维度建模初步
数据仓库和商业智能(Data Warehousing and Business Intelligence, DW/BI),DW/BI 系统的数据结构与标识必须符合业务用户的思维过程和词汇 信息两个目的 ...
最新文章
- 一起学设计模式 - 代理模式
- LeetCode 167. Two Sum II - Input array is sorted--Python解法
- Asp.net中基于Forms验证的角色验证授权[转]
- layui 上传图片校验
- 解决TypeError: Tensor is unhashable if Tensor equality is enabled. Instead, use tensor.experimental_re
- matlab hashset,MATLAB集合操作
- python cut函数_一天学会Python Web框架(七)工具函数
- ******2:***常用工具排行榜-《百晓生兵器谱》
- 生物信息学初学——山大公开课笔记
- 网贷魔爪再次伸向大学生,欠款账号真的能注销吗?
- 【目标检测】YOLOv3:An Incremental Improvement
- Jquery 广告图片轮播切换
- RDS-TMC(Traffic Message Channel)蕴藏的商机不可小视
- 由DRM引起的ORA-00481错误
- java拍照控件焦距问题,干货:监控中如何选择镜头焦距?
- 二进制安全之NX绕过方法--ROP技术
- 防止网络钓鱼攻击的10种方法...
- 51nod 1387 移数字
- 用python编写西门子plc程序_snap7读写西门子plc1200步骤(python)
- 山东大学往年c语言期末试题及答案,山东大学历年C语言题库.doc
热门文章
- iOS之多线程的使用和优缺点比较
- 深度学习——02、深度学习入门——卷积神经网络
- 大数据WEB阶段(六)MySql详解(二)
- 【STM32】DMA详解
- python 读取word 题库_Python-docx 读取word.docx内容
- 分页携带请求参数_一个值得深思的小问题 请求中的参数值为空要不要携带该参数?...
- sql like 绑定变量_码硬解析的改进方法之二使用绑定变量
- 穿梭框的list集合 去重
- 创建线程时候多参数传递方法及参数改变问题--扫雷辅助(三)
- 逆向入门--何为OEP