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