首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ehcache中设置刷新策略

在Ehcache中设置刷新策略
EN

Stack Overflow用户
提问于 2010-05-10 17:10:52
回答 1查看 3.1K关注 0票数 1

Ehcache中是否有用于指定数据刷新策略的策略?我目前正在将应用程序从OSCache迁移到Ehcache,除了设置timeToIdletimeToLive之外,我似乎找不到任何方法来指定元素何时需要刷新。

我想要的是:在访问缓存中的一个元素时,检查它的相关资源,看看它的更新是否晚于缓存元素的lastUpdateTime。如果是,则刷新缓存;否则,从缓存中提供内容。

在OSCache中,这是通过捕获NeedsRefreshException并为元素设置自定义刷新策略来完成的。我已经在文档中钻研了一段时间,但我没有找到任何方法或示例来说明我如何在Ehcache中实现这一点。

任何帮助都将不胜感激:)。

亚历克斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-10 17:35:32

OSCache关于NeedsRefreshException的想法是有缺陷的。首先,这违背了对通常的执行流程使用异常的建议(是的,我确实认为陈旧的缓存命中是正常的流程);其次,为此创建异常的代价非常高。

现在回到你的问题上。如果我处于你的位置,我会评估扩展net.sf.ehcache.Element的可能性,或者将你的入口值包装到一个能够检查timeToLive的对象中。

但主要的问题是,为什么你需要这样做?如果要将对象放入缓存并指定TTL,为什么还要在检索时检查TTL呢?缓存应该能够在没有任何外部帮助的情况下驱逐对象。这同样适用于手动删除条目的情况(例如,当对象已更改时)。也许我错过了什么?

您所询问的功能称为“通读”。如何做到这一点在这里解释:http://ehcache.org/documentation/concepts.html#read-through

--

另一个等待迁移到EHCache的不满意的OSCache用户:(

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2801474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档