【问题标题】:Template in FatWire cache expires immediatelyFatWire 缓存中的模板立即过期
【发布时间】:2016-09-28 15:37:29
【问题描述】:
这个问题与 FatWire Content Server 7.6 版有关。
我有一个 FatWire 模板,它通过一些资产并返回一些标记。大约需要 2 分钟才能完成。结果在 FatWire ContentServer 缓存中成功缓存,我可以在 CacheManager 工具中看到它。模板上的 ExpiryTime 是未来 10 年。片刻之后(通常为 1-2 分钟),ExpiryTime 更改为过去的日期(1980-02-01 01:01:01),因此过期。然后该项目从缓存中消失。
以前有人经历过吗?它只发生在这个模板上。关于第一次成功缓存后项目过期的原因有什么想法吗?
【问题讨论】:
标签:
java
oracle
caching
content-management-system
fatwire
【解决方案1】:
如果您使用的是旧式页面缓存实现(SystemPageCache、SystemItemCache 表),那么我可能会建议启用一些调试,以查看特定页面/元素或事件是否在此之后运行,从而导致换桌子:
-
启用这些记录器(之后重新启动):
com.futuretense.cs.db=调试
com.futuretense.cs.request=DEBUG
com.futuretense.cs.event=DEBUG
com.futuretense.cs=调试
跟踪 futuretense.txt/sites.log,并重现该问题 - 您应该能够看到新页面在未来到期时被缓存的点,然后随后会对其进行更改。这可能会告诉您它是由于系统事件还是另一个页面请求而发生的。如果这种情况发生在集群环境中,您需要在其他集群节点上设置相同的日志记录和尾部,以发现这些更改是否发生在这些节点上。
如果您正在使用新型页面缓存(“InCache”、cs-cache.xml 等),则可能是另一个节点意外与该节点交互。您可以通过调整 cs-cache.xml 中的多播设置来临时将此节点与缓存集群隔离 - 例如timeToLive=0 将阻止不同物理服务器上的任何其他节点看到这个。