【问题标题】:Selective clearing of ehcache entries选择性清除 ehcache 条目
【发布时间】:2017-10-31 17:00:51
【问题描述】:

我正在使用 Ehcache 3.4,我遇到了一种情况,我需要根据它们的键从缓存中清除条目。我事先不知道密钥,也没有找到从缓存中列出它们的干净方法。我在某处读到列出缓存的键是一种反模式,我同意这一点,但现在我看不出有什么好的方法。
我尝试过或考虑过的事情:

  • 迭代缓存对象(这有点工作,但会导致糟糕的代码)
  • 保留二级缓存键列表
  • 在这种情况下向 SO 寻求最佳实践

我可以清除整个缓存,但这会导致我希望避免的性能下降。我有哪些选择?

【问题讨论】:

  • 移除条件是基于元素的key还是其他属性?
  • 它基于密钥。
  • 键描述了对象在层次结构中的位置,我的目标是只杀死树的一部分

标签: java ehcache


【解决方案1】:

除了迭代条目之外,我看不出你能做什么。

如果不是缓存,而是地图,你会怎么做?

【讨论】:

  • 主要原因是密钥没有暴露,我不得不使用反射来获取它们。它有效,但不是一个好的解决方案。
  • 再说一次,我看不出你还能做什么。你不能改变设计以暴露按键吗?
  • 我也没有。更改 ehcache 的实现可以解决问题,但我认为这有点矫枉过正。
  • 没有。它不会有帮助。 Ehcache 必须在内部进行相同的迭代。
  • 迭代本身不是问题。我只是不喜欢使用反射来访问私有字段。
猜你喜欢
  • 1970-01-01
  • 2012-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2019-02-15
相关资源
最近更新 更多