在Java中使用固定的到期时间进行缓存

Pie*_*ter 5 java caching

我的Java Web应用程序(tomcat)从SQL数据库获取其所有数据.但是,此数据库的大部分内容仅通过批处理工作每天更新一次.由于这些表上的查询往往比较慢,我想缓存结果.

在编写我自己的解决方案之前,我想查看java的现有缓存解决方案.显然,我搜索了stackoverflow并找到了ehcache的参考和建议.

但是通过文档查看它似乎只允许将缓存对象的生命周期设置为持续时间(例如,在添加后1小时后到期),而我希望基于固定时间(例如,在凌晨0点30分到期)到期.

有没有人知道允许这种到期行为的缓存库?或者如果可能的话,如何使用ehcache执行此操作?

ska*_*man 5

EhCache允许您在创建单个缓存元素时以编程方式设置到期持续时间.配置的值ehcache.xml只是默认值.

如果您知道元素应该到期的特定绝对时间,那么您可以计算当时和"现在"之间的差异(即您添加到缓存的时间),并将其设置为生存时间,运用 Element.setTimeToLive()