0

我的一个页面有一个用这个键生成的块:

<%block cached="True" cache_key="${(month, year, timezone, admin)}">

为了使特定的月份/年份无效,我遍历所有时区/管理员(大约 50 个)调用:

template.cache.invalidate((month, year, timezone, admin))

有时我想使整个块无效。我不想遍历月/年/时区/管理员的所有值,因为这将花费很长时间。

有什么简单的方法可以做到这一点吗?

我愿意使这个模板的整个缓存失效。

我正在使用烧杯后端。我希望 Mako 有办法完成这些基本任务,但如果有必要我愿意直接使用 Beaker。

4

1 回答 1

0

目前我正在使用这个烧杯特定的代码来清除特定模板的整个缓存:

kw = template.cache._get_cache_kw({}, None)
cache = self.cache_manager.get_cache(template.cache.impl.cache.id, **kw)
cache.clear()

我不敢相信 Mako 对这个操作没有基本的支持……我是不是忽略了什么?

于 2013-07-03T07:30:38.000 回答