ehcache.xml 是 EHCache 的核心配置文件,以 为根节点,包含 diskStore(磁盘路径)、defaultCache(默认策略,必设 maxElementsInMemory/eternal/overflowToDisk)、named cache(具名缓存,支持覆盖默认配置)及其他根属性如 updateCheck、dynamicConfig 等。

ehcache.xml 是 EHCache 的核心配置文件,决定缓存的存储方式、生命周期、淘汰策略和持久化行为。它采用标准 XML 格式,必须以
diskStore:磁盘缓存路径设置
该元素指定缓存数据写入磁盘时的根目录,仅在启用磁盘缓存(如 overflowToDisk="true" 或 diskPersistent="true")时生效。
- 支持系统属性占位符,例如 java.io.tmpdir、user.home、user.dir
- 路径需有写权限;Windows 下建议用双反斜杠或正斜杠,如 c:/ehcache 或 c:\\ehcache
- 若未配置,EHCache 默认使用 java.io.tmpdir
defaultCache:默认缓存策略
当程序通过 CacheManager.add("xxx") 创建未显式声明的缓存时,将自动继承
一款非常包包、衣服、鞋子类网站,页面干净清洁、一目了然,mttshop打造精致、简单、易用、免费的商城。 系统要求:IIS5.1以后,必须安装.net 3.5 安装步骤: 1、下载完成后,直接解压文件mttshop.rar 2、附加数据库:解压后的可以找一个叫db的文件夹,解压后直接附加就可以,支持SQL 2000、2005、2008 3、配置web.config文件,找到key=&qu
- maxElementsInMemory:内存中最多缓存多少个 Element,超出则触发淘汰(必填)
- eternal:是否永不过期;设为 true 时,timeToIdleSeconds 和 timeToLiveSeconds 将被忽略(必填)
- overflowToDisk:内存满后是否溢出到磁盘(必填)
- timeToIdleSeconds:元素空闲多久后过期(单位秒),仅对 eternal="false" 生效
- timeToLiveSeconds:元素创建后最长存活时间(单位秒),同样仅对 eternal="false" 生效
- memoryStoreEvictionPolicy:内存满时的淘汰策略,可选 LRU(默认)、FIFO、LFU
named cache:命名缓存实例
针对不同业务场景(如用户信息、商品列表),可单独定义具名缓存,覆盖默认配置。每个
- name 值会被 EHCache 内部用于注册到 CacheManager 的 Map 中,不可重复
- 可复用 defaultCache 的全部属性,并额外支持:diskPersistent(JVM重启后是否恢复磁盘缓存)、diskExpiryThreadIntervalSeconds(磁盘过期清理线程执行间隔)、diskSpoolBufferSizeMB(单个缓存的磁盘缓冲区大小,默认30MB)
- 若某缓存不需磁盘能力,可设 overflowToDisk="false" 且省略 diskStore 配置
其他关键配置项说明
除上述结构外,
- updateCheck:是否检查新版本(设为 false 可避免启动时联网请求)
- dynamicConfig:是否允许运行时动态修改配置(默认 true;设为 false 后,代码调用 Configuration 修改将无效)
- xsi:noNamespaceSchemaLocation:指向 ehcache.xsd 文件,用于 IDE 提供语法提示与校验(推荐使用在线地址 http://ehcache.org/ehcache.xsd)









