EhCache参数及磁盘持久化加载

ehcache缓存配置详解 ehcache缓存配置详解 个人通过查资料和实践后总结 立即下载

EhCache是不错的Java开源缓存模块,Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。

你可以将Cache的配置从代码中剥离出来,也可以在使用运行时配置,所谓的运行时配置无非也就是在代码中配置。以下是运行时配置的好处:
1、在同一个地方配置所有的Cache,这样很容易管理Cache的内存和磁盘消耗。
2、发布时可更改Cache配置。
3、可再安装阶段就检查出配置错误信息,而避免了运行时错误。
如下是基本的ehcache.xml

<ehcache>
<diskstore path=”java.io.tmpdir”></diskstore>
<defaultcache maxElementsInMemory=”10000″
eternal=”false”
timeToIdleSeconds=”120″
timeToLiveSeconds=”120″
overflowToDisk=”true”
maxElementsOnDisk=”10000000″
diskPersistent=”false”
diskExpiryThreadIntervalSeconds=”120″
memoryStoreEvictionPolicy=”LRU”></defaultcache>
</ehcache>

你可以配置defaultCache,可用于所有cache,也可以针对每个cache配置不同的xml,以name属性来区分
cache的属性有如下几个

name:Cache的唯一标识
maxElementsInMemory:内存中最大缓存对象数。
maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大。
eternal:Element是否永久有效,一但设置了,timeout将不起作用。
overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中。
timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大。
timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大。
diskPersistent:是否缓存虚拟机重启期数据。(Server重启时将缓存序列化到本地,后再加载,保证缓存在重启后依然有效)。
diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒。
diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区。
memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)。这里比较遗憾,Ehcache并没有提供一个用户定制策略的接口,仅仅支持三种指定策略,感觉做的不够理想。

下面说下最近使用到的磁盘持久化与加载功能,由于之前使用过程中一般为直接缓存,而最近想到使用diskPersistent来配置本地磁盘持久化,发现了一些常见问题,网上找了很多文章终于得到最终效果。
实现此功能其实非常简单,只用简单的将diskPersistent配置为true,以tomcat为例,在重启时候需要告知EhCache,你要重启了,让EhCache去序列化内容到磁盘,此过程可以自己写监听实现重启时调用CacheManager的shutdown,也可以直接使用EhCache提供的监听类net.sf.ehcache.constructs.web.ShutdownListener,但是有一点需要注意,就是在使用此项功能时,必须保持重启或者关闭Server采用的是正常手段关闭,直接杀进程之类的关闭时完全不生效的。

在配置文件中,则需配置Bootstrapcacheloaderfactory,使用

<bootstrapCacheLoaderFactory

class=”net.sf.ehcache.store.DiskStoreBootstrapCacheLoaderFactory”

properties=”bootstrapAsynchronously=true”/>

另外,EhCache还提供了分布式的缓存解决方案,以及供开发扩展的API,高级功能,暂时没有使用,有需要可以自行查阅相关资料。

从MFCC到GMM:手把手教你用Python实现说话人识别(附完整代码) 本文详细介绍了如何使用Python实现说话人识别系统,从MFCC特征提取到GMM模型训练,涵盖完整的技术流程和代码示例。通过梅尔频率倒谱系数(MFCC)和高斯混合模型(GMM)的结合,构建高效的说话人识别系统,适用于身份认证和智能交互场景。文章还探讨了从传统方法到深度学习的进阶话题,如i-vector和x-vector技术。 阅读详情

相关推荐

避坑指南:用pygrib处理ERA5气象数据时遇到的5个典型问题

本文总结了使用pygrib库处理ERA5气象GRIB数据时常见的五个典型问题及解决方案,涵盖数据获取、内存管理、时间处理、空间插值和性能优化。重点针对气象数据插值这一核心挑战,提供了处理不规则网格、缺失值和跨日期变更线的实用代码示例与优化策略,帮助用户高效、稳定地完成气象数据分析工作。

weixin_28224217的博客 185

Ehcache配置文件说明

闲言少叙,直接上一个可用的配置文件: <?xml version="1.0" encoding="UTF-8"?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false" monitoring="autodetect"

永字诀的博客 974

Klocwork安装

简单介绍一下Klocwork在windows下的安装,操作系统是win7,Klocwork的版本是10.0。 第一步:由于Klocwork的安装程序已十分成熟,所以在安装之前不需要什么准备共走。双击Klocwork的安装包,会出现下图的安装引导界面,点击Next按钮。 第二步:下图是协议界面,点击Next按钮。 第三步:选择Klocwork的安装目录,点击Next按钮 第四步:

旮旯 9931

EhCache常用配置详解和持久化硬盘配置

一、EhCache常用配置 EhCache 给我们提供了丰富的配置来配置缓存的设置; 这里列出一些常见的配置项: cache元素的属性: name:缓存名称 maxElementsInMemory:内存中最大缓存对象数 maxElementsOnDisk:硬盘中最大缓存对象数,若是0表示无穷大 eternal:true表示对象永不过期,此时会忽略timeToIdleSeconds和timeToLiveSeconds属性,默认为false ...

yuxiang1014的专栏 3088

anaconda安装-超详细版

文章目录一、anaconda安装1.1 anaconda安装地址1.2 安装详细步骤检验安装是否成功更改conda源(后续安装第三方库可以加快速度) 一、anaconda安装 Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。装anaconda,就不需要单独装python了。 anaconda优点: 1、anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而p

in546的博客 25万+

在Ubuntu 22.04上从零搭建FVCOM环境:手把手搞定Linux、Intel编译器与NetCDF库

本文详细指导在Ubuntu 22.04上从零搭建FVCOM环境,涵盖Linux系统配置、Intel编译器安装、NetCDF库编译及常见问题解决。通过手把手教程,帮助科研人员高效完成水动力数值模拟环境的部署,特别适合水环境研究领域的初学者。

weixin_30613727的博客 650

关于Ehcache持久化缓存的一些见解

没有配置overflowToDisk属性前,达到最大缓存对象数目(即maxElementsInMemory后),ehcache会根据策略清理缓存,但是配置overflowToDisk属性后,缓存会得到保留,个人认为他是将缓存保存到磁盘上(但不是自己配置的目录,而是他的一个默认目录)想要将缓存持久化到磁盘,并且关闭服务器后下次打开可以继续使用上次的缓存,则必须要配置diskPersistent属性为true,才会将数据持久化到你配置的路径文件夹中(甚至不需要配置overflowToDisk)...

m0_56724799的博客 3476

通信算法之334:无人机侦测-DJI 大疆云哨接收机系列

【代码】通信算法之334:DJI 大疆 云哨接收机算法流程。

leegang12的专栏 844

java缓存Ehcache的使用

一、简介   EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。 主要的特性有: 快速 简单 多种缓存策略 缓存数据有两级:内存和磁盘,因此无需担心容量问题 缓存数据会在虚拟机重启的过程中写入磁盘 可以通过RMI、可插入API等方...

zpflwy1314的博客 3188

【C语言】一文搞懂C语言文件操作

读写文件、文件相关库函数详解、文件缓冲区介绍

StackFrame 5660

人工智能面试总结-Python

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录说说Python程序运行过程?说说Python的作用域?说说Python的数据结构?说说Python中可变与不可变类型?说说进程与线程?说说Python中的多线程?说说Python中的多进程?说说Python互斥锁与死锁?说说Lambda?说说Python的深拷贝与浅拷贝?说说Python多线程是否能用多个CPU,为什么?说说Python垃圾回收机制?说说Python里的生成器?说说迭代器与生成器的区别?说说Python 列表的 del,rem.

啥都生的博客 1万+

ehcache持久化

cache的属性有如下几个 name:Cache的唯一标识 maxElementsInMemory:内存中最大缓存对象数。 maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大。 eternal:Element是否永久有效,一但设置了,timeout将不起作用。 overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInM

吕建奎的专栏 5563

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ehcache java清除缓存数据,EhCache缓存使用

ehcache是一个纯Java实现的进程内缓存实现,具有快速精简等特点。有单机版本、分布式实现版本。主要针对基于java开发的项目使用。支持磁盘持久化及磁盘load到内存。介绍EhCache是基于Java的开源缓存,有很好的性能,可扩展。因为功能强大、经过测试的、功能全而广泛的应用与Java开发的系统中。支持进程内、混合进程内/进程外继承部署。1.1 特点1、单机版本的ehcache是jvm进程内...

weixin_33068783的博客 1800

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

EhCache认识、缓存配置及实战应用

目录 EhCache认识 特性 集成 缺点 过期策略及淘汰机制 持久化 Ehache 如何持久化? ehcache 和 redis 比较 EhCache缓存配置 引入依赖 创建 ehcache.xml 配置文件 配置参数说明 简单的实现存取demo 实战 EhCache认识 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Jav

Seven71111的博客 1011

ehcache知识

ehcache是一个用Java实现的线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。Ehcache的类层次模型主要为三层,最上层的是CacheManager,他是操作Ehcache的入口。我们可以通过CacheManager.getInstance()获得一个单个的CacheManager,或者通过CacheManager的构造函...

给我一个Object的博客 706

Ehcache的配置说明

XML/HTML代码ehcache>  磁盘存储配置:用来指定缓存在磁盘上的存储位置。可以使用JavaVM环境变量(user.home, user.dir, java.io.tmpdir)   -->  diskStore path = "/var/apps/cache/" />  指定CacheManagerEventListenerFactory,这个对象在缓存

nuoyan666的专栏 828

linux删除ehcache文件,缓存技术之Ehcache(3)配置详解和清理策略

diskStore====当内存缓存中对象数量超过maxElementsInMemory时,将缓存对象写到磁盘缓存中(需对象实现序列化接口) ;diskStore path====用来配置磁盘缓存使用的物理路径,Ehcache磁盘缓存使用的文件后缀名是.data和.indexname====缓存名称,cache的唯一标识(ehcache会把这个cache放到HashMap里)maxElements...

weixin_28966407的博客 655

ehcache 手动刷新缓存_Ehcache的详细介绍

一、简介Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。同时ehcache作为开放源代码项目,采用限制比较宽松的Apache License V2.0作为授权方式,被广泛地用于Hibernate, Spring,Cocoon等其他开源系统。Ehcache 从 Hibernat...

weixin_36472741的博客 4016

浅谈EhCache缓存框架

最近学习了EhCache,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用 文章目录一 EhCache简介二 EhCache 常用配置项详解三 Ehcache配置持久化到硬盘举例四 总结 一 EhCache简介    EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。hcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存.

ergouy's blog 445

EhCache使用

介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。 特性 快速、简单 多种缓存策略 缓存数据有两级:内存和磁盘,因此无需担心容量问题 缓存数据会在虚拟机重启的过程中写入磁盘 可以通过RMI、可

Demon_HL的博客 1191

Ehcache配置文件的说明

Ehcache配置文件的说明 转自:http://blog.youkuaiyun.com/mlitsn/article/details/1909192   &lt;cache name="CACHE_FUNC" maxElementsInMemory="2" eternal="false" timeToIdleSeconds="10" timeToLiveSeconds="20" overflowTo..

helloman0908的博客 206

Ehcache配置文件的详细说明

 Ehcache配置文件的详细说明  maxElementsInMemory :cache 中最多可以存放的元素的数量。如果放入cache中的元素超过这个数值,有两种情况:1、若overflowToDisk的属性值为true,会将cache中多出的元素放入磁盘文件中。2、若overflowToDisk的属性值为false,会根据memoryStoreEvictionPolicy

mlitsn的专栏 2万+

简单的使用ehcache

之前一直感觉缓存是高上大的东西,没有心思去研究。做了之后发现,简单的使用还是很容易的。这里记录ehcache在jfinal中的简单使用。 1.ehcahe简介 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 看到官网上已经3.0了。 2.作用 我把它当做一个可以存储数据和读取数据的存在。缓存其实就一个key...

weixin_30824277的博客 126

ehcache配置

配置applicationContext.xml。配置ehcache.xml文件。引用ehcache包。

跟踪世界脚步 773
上一篇: Ehcache介绍
下一篇: JSP学习笔记(七十六):使用EHCache
codepython
博客等级 码龄20年 125粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值