1. EHCache 的特点,是一个纯Java ,过程中(也可以理解成插入式)缓存实现,单独安装Ehcache ,需把ehcache-X.X.jar 和相关类库方到classpath中。如项目已安装了Hibernate ,则不需要做什么。。直接可以使用Ehcache 

Cache 存储方式 :内存或磁盘 

2. 单独使用 EHCache 

使用CacheManager 创建并管理Cache 

1.创建CacheManager有4种方式:

A:使用默认配置文件创建

java代码:

  1. CacheManager manager = CacheManager.create();

B:使用指定配置文件创建

java代码:

  1. CacheManager manager = CacheManager.create("src/config/ehcache.xml");

C:从classpath中找寻配置文件并创建

java代码:

  1. URL url = getClass().getResource("/anothername.xml");
  2. CacheManager manager = CacheManager.create(url);

D:通过输入流创建

java代码:

  1. InputStream fis = new FileInputStream(new File("src/config/ehcache.xml").getAbsolutePath());
  2. try {
  3. manager = CacheManager.create(fis);
  4. } finally {
  5. fis.close();
  6. }

卸载CacheManager ,关闭Cache

java代码:

  1. manager.shutdown();

使用Caches 

取得配置文件中预先 定义的sampleCache1设置,通过CacheManager生成一个Cache

java代码:

  1. Cache cache = manager.getCache("sampleCache1");

设置一个名为test 的新cache,test属性为默认

java代码:

  1. CacheManager manager = CacheManager.create();
  2. manager.addCache("test");

设置一个名为test 的新cache,并定义其属性

java代码:

  1. CacheManager manager = CacheManager.create();
  2. Cache cache = new Cache("test", 1, true, false, 5, 2);
  3. manager.addCache(cache);

往cache中加入元素

java代码:

  1. Element element = new Element("key1", "value1");
  2. cache.put(new Element(element);

从cache中取得元素

java代码:

  1. Element element = cache.get("key1");

所以大概步骤为: 

第一步:生成CacheManager对象 

第二步:生成Cache对象 

第三步:向Cache对象里添加由key,value组成的键值对的Element元素 

具体一个Test.java程序:

java代码:

  1. package test;
  2. import net.sf.ehcache.Cache;
  3. import net.sf.ehcache.CacheManager;
  4. import net.sf.ehcache.Element;
  5. /**
  6. * 第一步:生成CacheManager对象
  7. * 第二步:生成Cache对象
  8. * 第三步:向Cache对象里添加由key,value组成的键值对的Element元素
  9. * @author mahaibo
  10. *
  11. */
  12. public class Test {
  13. public static void main(String[] args) {
  14. //指定ehcache.xml的位置
  15. String fileName="E:\\1008\\workspace\\ehcachetest\\ehcache.xml";
  16. CacheManager manager = new CacheManager(fileName);
  17. //取出所有的cacheName
  18. String names[] = manager.getCacheNames();
  19. for(int i=0;i<names.length;i++){
  20. System.out.println(names[i]);
  21. }
  22. //根据cacheName生成一个Cache对象
  23. //第一种方式:
  24. Cache cache=manager.getCache(names[0]);
  25. //第二种方式,ehcache里必须有defaultCache存在,"test"可以换成任何值
  26. //        Cache cache = new Cache("test", 1, true, false, 5, 2);
  27. //        manager.addCache(cache);
  28. //向Cache对象里添加Element元素,Element元素有key,value键值对组成
  29. cache.put(new Element("key1","values1"));
  30. Element element = cache.get("key1");
  31. System.out.println(element.getValue());
  32. Object obj = element.getObjectValue();
  33. System.out.println((String)obj);
  34. manager.shutdown();
  35. }
  36. }

3. 在 Hibernate 中运用EHCache ,详见Hibernate
之Hibernate缓存

缓存之ehcache 之使用的更多相关文章

  1. 缓存插件 EHCache 对象缓存(Spring)

    对象缓存就是将查询的数据,添加到缓存中,下次再次查询的时候直接从缓存中获取,而不去数据库中查询. 对象缓存一般是针对方法.类而来的,结合Spring的Aop对象.方法缓存就很简单.这里需要用到切面编程 ...

  2. 缓存初解(三)---Spring3.0基于注解的缓存配置+Ehcache和OScache

    本文将构建一个普通工程来说明spring注解缓存的使用方式,关于如何在web应用中使用注解缓存,请参见: Spring基于注解的缓存配置--web应用实例 一.简介 在spring的modules包中 ...

  3. spring+springMVC+JPA配置详解(使用缓存框架ehcache)

    SpringMVC是越来越火,自己也弄一个Spring+SpringMVC+JPA的简单框架. 1.搭建环境. 1)下载Spring3.1.2的发布包:Hibernate4.1.7的发布包(没有使用h ...

  4. Java的进程内缓存框架:EhCache (转)

    EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache缓存的特点: 1. 快速. 2. 简单. 3. 多种缓存 ...

  5. Spring Boot 揭秘与实战(二) 数据缓存篇 - EhCache

    文章目录 1. EhCache 集成 2. 源代码 本文,讲解 Spring Boot 如何集成 EhCache,实现缓存. 在阅读「Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门 ...

  6. Java的进程内缓存框架:EhCache

    EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider.   Ehcache缓存的特点: 1. 快速. 2. 简单. 3. 多种 ...

  7. 缓存框架EhCache的简单使用

    缓存框架EhCache的简单使用: 1.Spring和EhCache框架整合 1.1导入jar包 <dependencies> <dependency> <groupId ...

  8. JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来 —— 感受来自Ehcache的强大实力

    大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 作为<深入理解缓存原理与实战设计 ...

  9. JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来2 —— Ehcache的各种项目集成与使用初体验

    大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 在上一篇文章<JAVA中使用最广 ...

  10. JAVA中使用最广泛的本地缓存?Ehcache的自信从何而来3 —— 本地缓存变身分布式集群缓存,打破本地缓存天花板

    大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 上一篇文章中,我们知晓了如何在项目中通 ...

随机推荐

  1. 使用Windows API 编写按行分配的计算矩阵向量相乘的并行程序

    水了一学期的院选修,万万没想到期末考试还有比较硬核的编程题,居然还涉及到多线程了,而且是调用Windows接口函数写多线程.虽然学汇编的时候有所了解,但毕竟没尝试过,思来想去,写出了下面的蹩脚代码,不 ...

  2. [学习笔记] 2-SAT

    引入 有 \(n\) 个变量 \(x_1 \cdots x_n\),每个变量的取值范围为 \(\{0,1\}\),另有 \(m\) 个条件,每个条件都是对其中两个变量的取值限制,形如要么 \(x_i ...

  3. 深入理解c语言指针与内存

    一.将int强制转换为int指针,将int指针强转换为int void f(void) { int *p = (int*)100; //将int强制转换为int指针 printf("%d\n ...

  4. 音视频FAQ(二)视频直播延时高

    摘要 延时高是实时互动技术中常见的问题之一,解决延时高问题需要综合考虑网络.设备.编解码算法等多个因素.解决方案包括优化设备端延时.优化网络传输延时和使用UDP进行音视频传输等.在选择音视频传输协议时 ...

  5. JavaScript Library – Svelte

    前言 上一回我介绍了 Alpine.js.作为我开发企业网站 draft 版本的 render engine. 用了一阵子后,我觉得它真的非常不好用.所以打算换一个. 前端有好几个 framework ...

  6. RxJS 系列 – 目录

    请按顺序阅读 概念篇 Observable & Creation Operators Subject Observable to Subject (Hot, Cold, Warm, conne ...

  7. 系统编程-进程-当文件操作遇上fork

    我的关联博文: 系统编程-进程-fork深度理解.vfork简介 系统编程-进程-先后fork或open一个文件的区别 test1:   lseek基本使用 #include <stdio.h& ...

  8. [C103] 斐波那契数列

    设 \((i,j)=gcd(i,j)\) \[f_{i}=f_{i-1}+f_{i-2} \] \[f_{i}=f_{i-2}\times f_{1}+f_{i-1}\times f_{2} \] \ ...

  9. Windows右下角时间显示到秒(改注册表)

    ​ 事件起因: 由于京东秒杀,要准点抢购,于是想着能不能把Windows右下角的时间显示到秒,于是在网上查了一下,修改注册表即可 解决办法: 新建一个 ShowSecondsInSystemClock ...

  10. scala安装及配置

    window 上安装 Scala 1.Scala下载网址:https://www.scala-lang.org/download/ 2.下载后,双击 msi 文件,一步步安装即可,安装过程你可以使用默 ...