我们正在实施一个"被动"缓存大部分都会使每个重要对象始终缓存,并且只在更新/创建时更新这些对象。我们使用jbuilder渲染我们与https://github.com/rails/jbuilder交互的大部分json。它们包含了非常直接的缓存镜像视图片段缓存。
我的问题是这样 - 当存储缓存的对象时,我需要使用可检索的键,以便我们可以在任何模型更新后删除它们。起初这似乎很容易......但是却引起了麻烦。 Rails.cache.delete_matcher似乎没有工作,将正则表达式传递给expire_fragment也是如此。
所以我能看到的唯一解决方案是能够删除"模板树摘要"从缓存键的末尾开始。
真实世界的例子是转换
在jbuilder / V3 /用户/ 38-20170809004706672937000 /表演者/ 1493168-20170823184135817877000 / d84abdae117cd787b8204fd744e7dc06
到
在jbuilder / V3 /用户/ 38-20170809004706672937000 /表演者/ 1493168-20170823184135817877000
(bye bye d84abdae117cd787b8204fd744e7dc06)
这将使密钥易于复制,从而删除。 这甚至可能吗?我错过了包含此密钥的重要性吗?任何帮助将非常感谢!我死于她
答案 0 :(得分:0)
您可以将skip_digest选项添加到所有缓存
离。
json.cache! [' v1',场地],expires_in:12.hours,:skip_digest =>真的 json.partial! "场地/场地",场地:场地 端
从缓存密钥的末尾删除缓存摘要
更多