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. Json转实体类问题

    背景:使用一个实体类,将json及xml转成对应的实体类 Transformers.fromJson 将json映射成对应的实体类, 原本已经测试,传xml是可以的,传的有字段及list<E&g ...

  2. 【VMware VCF】VCF 5.2:配置管理域 vSAN 延伸集群。

    VMware vSAN 解决方案中,根据集群的配置类型分为 vSAN 标准集群.vSAN 延伸集群以及双主机集群(延伸集群特例).我们最常见的使用方式应该是 vSAN 标准集群,也就是 vSAN HC ...

  3. 【YashanDB数据库】由于网络带宽不足导致的jdbc向yashandb插入数据慢

    问题现象 某客户环境,客户的业务使用jdbc驱动向其他操作系统上的yashandb插入90万条数据,耗时大约30分钟. 问题的风险及影响 影响客户的业务处理效率 问题影响的版本 所有的yashandb ...

  4. Redis 入门 - 简介

    Redis是Remote Dictionary Server的缩写,可以翻译成远程字典服务.Redis是用C语言编写的开源项目. Redis 最主要的特点就是高性能,对于简单的键值读取速度可以达到10 ...

  5. 系统编程-进程-先后fork或open一个文件的区别

    关联博文: 当文件操作遇上fork Linux内核的文件结构体 struct file { ......... struct path f_path; //文件的路径 #define f_dentry ...

  6. 【赵渝强老师】NoSQL数据库之Cassandra基础

    一.Cassandra简介 Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable.其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如 ...

  7. 【赵渝强老师】在MongoDB中使用游标

    一.什么是游标? 游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力. 游标实际上是一种能从包括多条数据记录的结果集 ...

  8. Go语言中JSON标签的用法与技巧

    在Go语言中,JSON标签(JSON tags)是用来指定结构体字段在序列化为JSON时的名称和行为的.JSON标签通常写在结构体字段的后面,用反引号(`)括起来.以下是一些常用的JSON标签: js ...

  9. Kernel调试追踪技术之 Kprobe on ARM64

    kprobe是什么? kprobe 是一种动态调试机制,用于debugging,动态跟踪,性能分析,动态修改内核行为等,2004年由IBM发布,是名为Dprobes工具集的底层实现机制[1][2],2 ...

  10. 「模拟赛」A 层多校联训 4(卖品:CTH)

    双倒一啦! 感觉这次最大的错误就是没看 T2.(本质原因还是时间浪费的太多了) 赛时记录在闲话啦 accoder 多校比赛链接 02 表示法 唐诗题!考高精的人都\(**\),输出深度优先搜索解决.高 ...