我想在更新另一个自定义表项时更新一个自定义表的缓存内容。假设我有两个自定义表:产品和订单。产品和订单都有列表和编辑页面。
在 DB 中,如果 Product 发生更改,则 Product 上有一个触发器会更新 Order 上的一些数据。
我的情况是,当我更新产品 1(产品类型的项目之一)时,我希望订单(所有订单)缓存刷新并反映订单数据库中所做的更改。这不是现在发生的。
内容缓存的全局设置为 10 分钟。但不知何故,反映变化需要 20 分钟。不知道为什么。同样在订单的 CustomTableRepeater 的系统设置->缓存分钟设置为 0 意味着它根本不应该缓存内容,但它仍然如此,所以我在这里不知所措
对这种情况的回答是根据 Kentico 文档设置缓存依赖虚拟键。
我的问题是:
- 我是否在产品的编辑页面的 web 部件部分输出缓存依赖属性上设置所有订单的依赖键?
例如orders|all
当任何产品被修改时,这是否会刷新为自定义表数据源缓存的所有订单记录?
- 或者我在订单的转发器的系统设置->内容缓存依赖属性上设置所有产品的依赖键?
例如products|all
请注意,缓存分钟属性设置为 0,因此理想情况下不应缓存此内容。
- 或者将上面的键添加到订单的编辑页面的 webpart 的部分输出依赖项?
同样对于自定义表如何获得正确的虚拟密钥?是吗
products|all
或者
nodes|corportateside|products|all
或者
customtableitem.products|all
或者我需要添加可以在调试->缓存设置中看到的页面虚拟键?
我已经尝试设置所有这些东西,但似乎没有任何效果。任何帮助是极大的赞赏。