java 使用 ehcache_Java Ehcache简单使用
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简单使用相关推荐
- EHCache简单使用
EHCache简单使用 博客分类: java 转载:http://voyageivi.iteye.com/blog/1484715 感谢分享. SQLCacheMySQLJVMXML . 关于缓存的话 ...
- Java项目中Ehcache的使用
在项目中,我们经常会用到缓存,合理的利用缓存可以提高代码工作的效率,减少不必要的重复工作.这篇文章主要是介绍Ehcache在Java项目中的简单上手.以下为步骤: 1. 引入jar包: ① 可以通过m ...
- JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...
用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...
- java爬取网页内容 简单例子(2)——附jsoup的select用法详解
[背景] 在上一篇博文 java爬取网页内容 简单例子(1)--使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则 ...
- 【练习题】构造方法 编写Java程序,模拟简单的计算器。
package day09; /*1.[练习题]构造方法 编写Java程序,模拟简单的计算器. 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有.编写构造方法,赋予n1和n2初 ...
- Java WebService 接口的简单生成和调用
Java WebService 接口的简单生成和调用 1.打开eclipse创建普通的java项目,写一个类 如下: package com.jspweb.ws;import javax.jws.W ...
- 菜鸟学Java(六)——简单验证码生成(Java版)
转载自 菜鸟学Java(六)--简单验证码生成(Java版) 验证码大家都知道,它的作用也不用我多说了吧.如果不太清楚请参见百度百科中的解释,一般验证码的生成就是随机产生字符(数字.字母或者汉字等) ...
- java对mysql的简单操作的综合运用——登录+注册+修改密码
本篇博客是java对mysql的简单操作的综合运用--登录系统.java对mysql的简单操作的综合运用--注册系统.java对mysql的简单操作的综合运用--修改密码系统的整合. 因为使用的是数据 ...
- java对mysql的简单操作的综合运用——修改密码系统
本篇博客运用到: java连接mysql数据库连接 java对mysql的简单操作--修改数据 下面是修改密码系统的完整代码 import java.awt.event.ActionEvent; im ...
- java对mysql的简单操作的综合运用——登录系统
本篇博客运用到: java连接mysql数据库连接(数据搜索) 下面是登录系统的完整代码 import java.awt.event.ActionEvent; import java.awt.even ...
最新文章
- 【Ethereum】以太坊ERC20 Token标准完整说明
- 实验八 《Coderxiaoban团队》团队作业4:基于原型的团队项目需求调研与分析
- navicat premium 链接postgresql 无法加载表_POSTGRESQL 数据库结构体系 ||| 东来西去 三个角度看...
- 移动web app开发必备 - 异步队列 Deferred
- Linux启动/停止/重启Mysql数据库的方法
- Django-HttpResponse、render,、redirect(转载)
- Linux内核精选文章向读者汇报 | 相遇Linux
- 对于asp.net服务器推送和客户端拉拽技术知识讲述
- JAMA:Java矩阵包
- 个人项目——机智云开源APP基础修改教程(Android)
- snm算法_基于SNM算法的大数据量中文地址清洗方法
- Flash Memory 简介
- A类业余电台操作证书考试内容提要
- 请设计输出实数的格式,包括:(1)一行输出一个实数;(2)一行输出两个实数;(3)一行输出三个实数。实数用%6.2f格式输出。
- 基于C++和OpenCV的中心线提取算法
- Java实现等额本金
- Mac下载软件Motrix 下载速度为零解决办法
- 【PID优化】基于matlab粒子群算法优化BP神经网络PID控制【含Matlab源码 2022期】
- Hexo-Theme-Buer主题修改介绍
- “天下文章一大抄”的时代已经过去
热门文章
- 培根密码(Bacon)——python解密
- IO、NIO和AIO的区别
- 国内AGV机器人厂家数目统计及区域分布分析
- 在linux系统中查看mysql版本_Linux系统下查看mysql版本的四种方法_MySQL
- matlab中注释多行
- 如何去掉高CAD选择集对话框(高版本才有)
- Could not find a package configuration file... GflagsConfig.cmake gflags-config.cmake 解决方法
- Windows电脑云便签敬业签左边的分类怎么展开?
- DELL_R820服务器安装 server2008 R2x64缺少所需的CDDVD驱动器设备驱动解决方法
- dvwa linux安装教程,CentOS 7 + DVWA 安装搭建过程