1.ehcache是一个非常轻量级的缓存实现

2.Ehcache的分布式缓存有传统的RMI

3.使用Spring的AOP进行整合,可以灵活的对方法的返回结果对象进行缓存。

主要特性

1. 快速.

2. 简单.

3. 多种缓存策略

4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题

5. 缓存数据会在虚拟机重启的过程中写入磁盘

6. 可以通过RMI、可插入API等方式进行分布式缓存

7. 具有缓存和缓存管理器的侦听接口

8. 支持多缓存管理器实例,以及一个实例的多个缓存区域

9. 提供Hibernate的缓存实现

10. 等等

简单的配置文件

配置文件解释如下:

diskStore 保存缓存的位置

defaultCache 默认缓存

name:缓存名称

maxElementInMemory:内存中最大缓存对象数

maxElementOnDisk:磁盘中最大缓存对象数若是0表示无穷大

enternal: true代表永不过期,会忽略timeToIdleSeconds和timeToLiveSeconds属。该值默认为false

overflowToDisk: true表示内存中对象数达到maxElementInMemory后自动缓存到磁盘中

diskSpoolBufferSizeMB:磁盘缓存区大小,默认为30M。每个Cache都有自己的缓存区大小

diskPersistent:是否缓存虚拟机重启数据

diskExpiryThreadIntervalSeconds:磁盘失效线程间隔时间,默认为120s

timeToidSeconds:允许对象处于空闲状态的最大时间(秒)。0:为无限时间。只有在enternal 值为false时是有效的

timeToLiveSeconds:允许对象存在于缓存中的最长时间(秒)。0:为无限时间。只有在enternal 值为false时是有效的,且值一定要大于timeToidSeconds

memberStoreEvictionPolic:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。可选策略有:LRU(最近最少使用,默认策略)、FIFO(先进先出)、LFU(最少访问次数)

编程实现简单的使用Ehcache:

importnet.sf.ehcache.Cache;importnet.sf.ehcache.CacheManager;importnet.sf.ehcache.Element;public classTestMain {public static void main(String[] argv) throwsIOException{//从class目录中自动查找ehcache.xml配置文件

CacheManager cacheManager =CacheManager.getInstance();//也可以指定查找//CacheManager cacheManager = CacheManager.create(getClass().getResource("/ehcache.xml"));//从配置文件中获取实例

Cache cache = cacheManager.getCache("sampleCache1");//添加元素

cache.put(new Element("s14","fasdfasd"));

cache.put(new Element("s13","fasdfasd"));

cache.put(new Element("s165","fasdfasd"));

cache.put(new Element("s12","fasdfasd"));

cache.put(new Element("s142","fasdfasd"));//获取元素

Element element = cache.get("s14");//[ key = s14, value=fasdfasd, version=1, hitCount=1, CreationTime = 1478587083493, LastAccessTime = 1478587083496 ]

System.out.println(element);//将元素永久存储到磁盘上

cache.flush();//卸载缓存管理器

cacheManager.shutdown();

}

}

测验缓存是否有效:

importjava.io.IOException;importnet.sf.ehcache.Cache;importnet.sf.ehcache.CacheManager;importnet.sf.ehcache.Element;public classTestMain {public static void main(String[] argv) throwsIOException{//从class目录中自动查找ehcache.xml配置文件

CacheManager cacheManager =CacheManager.getInstance();//从配置文件中获取实例

Cache cache = cacheManager.getCache("sampleCache1");//添加元素//获取元素

Element element = cache.get("s14");//[ key = s14, value=fasdfasd, version=1, hitCount=1, CreationTime = 1478587083493, LastAccessTime = 1478587083496 ] 还可以获取到

System.out.println(element);//卸载缓存管理器

cacheManager.shutdown();

}

}

在web中使用

在web.xml 可对jsp进行缓存

testPageCachingFilter

net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter

testPageCachingFilter

*.jsp

这个时候需要将ehcache.xml文件中的Cache配置的name属性必须设置为SimplePageCachingFilter

在RMI中的使用:

在Cache添加如下配置

java 使用 ehcache_Java Ehcache简单使用相关推荐

  1. EHCache简单使用

    EHCache简单使用 博客分类: java 转载:http://voyageivi.iteye.com/blog/1484715 感谢分享. SQLCacheMySQLJVMXML . 关于缓存的话 ...

  2. Java项目中Ehcache的使用

    在项目中,我们经常会用到缓存,合理的利用缓存可以提高代码工作的效率,减少不必要的重复工作.这篇文章主要是介绍Ehcache在Java项目中的简单上手.以下为步骤: 1. 引入jar包: ① 可以通过m ...

  3. JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...

    用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...

  4. java爬取网页内容 简单例子(2)——附jsoup的select用法详解

    [背景] 在上一篇博文 java爬取网页内容 简单例子(1)--使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则 ...

  5. 【练习题】构造方法 编写Java程序,模拟简单的计算器。

    package day09; /*1.[练习题]构造方法 编写Java程序,模拟简单的计算器. 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有.编写构造方法,赋予n1和n2初 ...

  6. Java WebService 接口的简单生成和调用

    Java WebService 接口的简单生成和调用 1.打开eclipse创建普通的java项目,写一个类  如下: package com.jspweb.ws;import javax.jws.W ...

  7. 菜鸟学Java(六)——简单验证码生成(Java版)

    转载自  菜鸟学Java(六)--简单验证码生成(Java版) 验证码大家都知道,它的作用也不用我多说了吧.如果不太清楚请参见百度百科中的解释,一般验证码的生成就是随机产生字符(数字.字母或者汉字等) ...

  8. java对mysql的简单操作的综合运用——登录+注册+修改密码

    本篇博客是java对mysql的简单操作的综合运用--登录系统.java对mysql的简单操作的综合运用--注册系统.java对mysql的简单操作的综合运用--修改密码系统的整合. 因为使用的是数据 ...

  9. java对mysql的简单操作的综合运用——修改密码系统

    本篇博客运用到: java连接mysql数据库连接 java对mysql的简单操作--修改数据 下面是修改密码系统的完整代码 import java.awt.event.ActionEvent; im ...

  10. java对mysql的简单操作的综合运用——登录系统

    本篇博客运用到: java连接mysql数据库连接(数据搜索) 下面是登录系统的完整代码 import java.awt.event.ActionEvent; import java.awt.even ...

最新文章

  1. 【Ethereum】以太坊ERC20 Token标准完整说明
  2. 实验八 《Coderxiaoban团队》团队作业4:基于原型的团队项目需求调研与分析
  3. navicat premium 链接postgresql 无法加载表_POSTGRESQL 数据库结构体系 ||| 东来西去 三个角度看...
  4. 移动web app开发必备 - 异步队列 Deferred
  5. Linux启动/停止/重启Mysql数据库的方法
  6. Django-HttpResponse、render,、redirect(转载)
  7. Linux内核精选文章向读者汇报 | 相遇Linux
  8. 对于asp.net服务器推送和客户端拉拽技术知识讲述
  9. JAMA:Java矩阵包
  10. 个人项目——机智云开源APP基础修改教程(Android)
  11. snm算法_基于SNM算法的大数据量中文地址清洗方法
  12. Flash Memory 简介
  13. A类业余电台操作证书考试内容提要
  14. 请设计输出实数的格式,包括:(1)一行输出一个实数;(2)一行输出两个实数;(3)一行输出三个实数。实数用%6.2f格式输出。
  15. 基于C++和OpenCV的中心线提取算法
  16. Java实现等额本金
  17. Mac下载软件Motrix 下载速度为零解决办法
  18. 【PID优化】基于matlab粒子群算法优化BP神经网络PID控制【含Matlab源码 2022期】
  19. Hexo-Theme-Buer主题修改介绍
  20. “天下文章一大抄”的时代已经过去

热门文章

  1. 培根密码(Bacon)——python解密
  2. IO、NIO和AIO的区别
  3. 国内AGV机器人厂家数目统计及区域分布分析
  4. 在linux系统中查看mysql版本_Linux系统下查看mysql版本的四种方法_MySQL
  5. matlab中注释多行
  6. 如何去掉高CAD选择集对话框(高版本才有)
  7. Could not find a package configuration file... GflagsConfig.cmake gflags-config.cmake 解决方法
  8. Windows电脑云便签敬业签左边的分类怎么展开?
  9. DELL_R820服务器安装 server2008 R2x64缺少所需的CDDVD驱动器设备驱动解决方法
  10. dvwa linux安装教程,CentOS 7 + DVWA 安装搭建过程