我在一个特定的实体产品上测试了缓存配置,相关的linkedin讨论这里。
我有一个缓存项配置,如
<cache name="entity.record.one.mantle.product.Product" expire-time-idle="60" expire-time-live="600"/>

存在一些问题:
我不确定第二个是否是理想的行为。也许产品更新会根据框架清除缓存。如果是的话,那它就是很棒的特征。如果不是,那么它应该是一个问题,这意味着结果不是来自缓存。
发布于 2016-08-15 20:58:12
关于第1点:只允许一个过期时间,可以是空闲的,也可以是活动的,如果两者都指定了,则使用空闲过期时间。基本上,底层缓存可以有一个过期策略,其类型(空闲、活动)和时间以秒为单位。
关于第二点:是的,这是预期的行为。如果记录是缓存的,甚至是缓存的视图实体和值列表,则自动缓存清除应该总是在更新记录时工作。有相当复杂的代码来处理这个问题,还有各种自动化测试来确保它在不同的场景中工作。
在与多个应用服务器一起部署时,当前建议的跨所有服务器处理自动缓存清除的方法是使用moqui组件,该组件使用moqui组件,该组件根据每个服务器缓存的内容,发送有关更新记录的消息,每个服务器都可以根据每个服务器缓存的内容自动清除缓存。
https://stackoverflow.com/questions/38949462
复制相似问题