之前的文章介绍了在项目里使用Ehcache的经历,现在它可以很好的工作。但是现在用户来新需求了(他们一直有新需求的):
需要缓存定时刷新,如10:00,12:00,17:30.....(具体时间点用户给定),请注意是定时刷新,那么意味着缓存不但要失效,而且要能将新的数据填充的缓存里。
以往我们做的程序,是配置缓存多长时间(多少秒)失效,等用户再次请求后根据请求结果刷新缓存。看了一下ehcache的文档,好像未找到相应的内容。
解决办法:
目前暂时依赖容器做定时任务,通过代码刷新缓存。
更好的解决办法:
扩展(也许ehcache或者其他大牛已经做了)ehcache,使其能定时是缓存实效,并提供一个公共的接口,让业务代码实现,用于在缓存失效后立即刷新缓存。我的扩展方法不知道是否可行呢?或者大牛们有什么更好的实现,希望告知。。。