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. 单个48TB大小SQL Server数据库备份导致日志文件无法截断

    单个48TB大小SQL Server数据库备份导致日志文件无法截断 SQL Server 版本:SQL Server 2019背景在一个48T大小的单数据库环境中,采用简单恢复模式,日志文件大小限制为 ...

  2. DNN、CNN、RNN的区别

    参考1:CNN.RNN.DNN区别 参考2:一文读懂 CNN.DNN.RNN 内部网络结构区别 一张图解释所有: 感知机(输入层.输出层.一个隐藏层)-->不能解决复杂的函数-->神经网络 ...

  3. JavaScript – Temporal API & Date

    前言 Temporal API 是 JS 的新东西,用来取代 Date.虽然现在 (12-09-2024) 依然没有任何游览器支持 Temporal API,但它已经是 stage 3 了,而且有完整 ...

  4. 使用ValueConverters扩展实现枚举控制页面的显示

    1.ValueConverters 本库包含了IValueConverter接口的的最常用的实现,ValueConverters用于从视图到视图模型的值得转换,某些情况下,可用进行反向转换.里面有一些 ...

  5. C# 中的数组使用

    · // 数组 /// 数组是一组相同类型的数据(ps:js中的数组可以不同类型) 访问通过索引访问数组元素 /// 数组的声明 要使用 new 使用 {} 来初始化数组元素 还需要指定数组的大小 / ...

  6. js中数据的基本类型

    有5种基本数据类型分类 : 1. 数字型  number 2. 字符型 string 3. 布尔型 boolean 4. undefined 未定义  就是声明了但是没有赋值 5. null 空指针 ...

  7. 不要慌,FastGPT 告诉我这是技术性调整,利好大 A!

    一觉醒来,股市又变天了,到处一片哀嚎,我看了下前几天牛市的赚钱名单,咱们公众号的粉丝没有一个在里面,说实话很失望,希望大家多做些有意义的事情,而不是整天虚度光阴.一个个平时看着都挺厉害,也没赚到钱,我 ...

  8. 一文读懂 Prometheus 长期存储主流方案

    嘉宾 | 霍秉杰 整理 | 西京刀客 出品 | CSDN 云原生 Prometheus 作为云原生时代崛起的标志性项目,已经成为可观测领域的事实标准.Prometheus 是单实例不可扩展的,那么如果 ...

  9. 如何优雅地将AI人工智能在线客服嵌入企业网站

    随着人工智能(AI)技术的飞速发展,越来越多的企业意识到,将AI客服嵌入企业网站是提升客户体验.提高工作效率的重要手段.相比于传统的人工客服,AI客服可以24/7全天候服务,不仅能有效处理大部分用户问 ...

  10. dotnet core微服务框架Jimu介绍

    jimu是一个基于.Net6.0 简单易用的微服务框架,参考了很多开源库以及想法,使用了大量的开源库(如 DotNetty, consul.net, Flurl.Http, Json.net, Log ...