首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一次重新加载所有cache2k条目

一次重新加载所有cache2k条目
EN

Stack Overflow用户
提问于 2019-07-29 14:01:51
回答 1查看 342关注 0票数 1

我想一次重新加载cache2k中的所有缓存条目。我使用的是1.2.2版本。

我尝试过使用org.cache2k.integration.CacheLoader#load方法,但它只接受一个键并返回一个值。我不喜欢一次只从数据库下载一条记录的想法。这不是最理想的。

我希望使用完全一个db查询重新加载所有缓存条目。请指导什么是建议的方式来实现它。

谢谢你的回答!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-30 15:16:52

您可以通过以下方式指示cache2k重新加载所有条目:

代码语言:javascript
复制
  cache.reloadAll(cache.keys(), null);

但是,在当前版本中,通过加载程序线程池一个一个地重新加载所有条目。所谓的“散装货”现在已经失踪了。对此已经有更多的需求。它在这里被跟踪:https://github.com/cache2k/cache2k/issues/116

如果您总是大量加载整个内容,那么问题是您是否实际需要有单独的缓存条目,而需要缓存包含所有项的单个映射。参见这里的一些讨论:https://github.com/cache2k/cache2k/issues/122

使用加载程序有几个优点,例如恢复能力和提前刷新。如果您不需要这样做,只想用新的内容填充缓存,就可以使用cache.keys()获取缓存密钥的列表,请求数据库,然后通过cache.putAll()更新整个缓存。

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

https://stackoverflow.com/questions/57255496

复制
相关文章

相似问题

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