我的一个页面有一个使用此键生成的块:
<%block cached="True" cache_key="${(month, year, timezone, admin)}">
要使特定月份/年无效,我会遍历所有时区/管理员(约50),并致电:
template.cache.invalidate((month, year, timezone, admin))
偶尔我想让整个块无效。我不想循环遍历月/年/时区/管理员的所有值,因为这将需要永远。
有没有简单的方法来实现这个目标?
我愿意为此模板的整个缓存无效。
我正在使用Beaker后端。我希望Mako有一些方法来完成这些基本任务,但如果有必要,我愿意直接使用Beaker。
答案 0 :(得分:0)
目前,我正在使用此Beaker特定代码清除特定模板的整个缓存:
kw = template.cache._get_cache_kw({}, None)
cache = self.cache_manager.get_cache(template.cache.impl.cache.id, **kw)
cache.clear()
我无法相信Mako对此操作没有基本的支持......我忽略了什么吗?