【发布时间】:2012-10-07 09:50:43
【问题描述】:
编辑
Circumflex 访问ehcache's getKeys,因此应该可以在 Play 中进行类似操作,前提是 Cache 插件实现公开了 getKeys,这可能是不可能的(假设每个 Cache 库都提供了一种查询缓存中所有键的方法)
原创 有没有办法通过 EhCache 的键前缀删除缓存条目?
我正在使用默认使用 EhCache 的 Play 框架的缓存实现。
查看 Play 2 Scala Cache.scala 我看到了一个删除方法,它接受一个字符串,即要删除的键,但我想知道 EhCache 本身是否支持按前缀删除(如果是,我将向 Play 开发人员提出功能请求对于 2.1 快照)
就目前而言,我正在使用一个辅助方法,它获取一个常用缓存键列表并删除匹配项:
object clear {
def apply(key: String, keys: List[String] = List()) = {
if(keys.size > 0) keys.filter(_.startsWith(key)) map(Cache.remove(_))
else Cache.remove(key)
}
}
但是与将任何键前缀直接传递给缓存删除相比,维护一个固定键列表是愚蠢的
【问题讨论】:
标签: playframework-2.0 ehcache prefix