初始情况: 在函数内部,我使用cachedWithin属性缓存查询。在该cfquery标记的正下方,我将派生和相关数据缓存到存储在SERVER 范围内的结构中。
问题: 如果上面的查询已被刷新,我想重新填充该结构,但foo.cached似乎只表明标记是否使用缓存。如果该查询已更新,Railo 是否提供额外的元数据以实际接收 true,而不仅仅是它是否被缓存或者我应该求助于cfcache解决方法?
我相信这result.cached
就是你所需要的。我刚刚测试了具有小 cachedWithin 时间跨度的示例查询,它在两种情况下设置为 false:(1)添加记录时;(2) 超时发生时。所以你的第一个猜测看起来不错。
以防万一有人感兴趣:
由于“缓存”属性在我的情况下并不可靠(可能是因为我从我的前任那里继承了这个系统并且不能保证过去修改了多少应用程序服务器)我求助于一种不同的方法,基于经典的 cacheGet/cachePut 块。
生成的缓存决策逻辑基于此查询提供的后续结构的超时。