在 django 中使特定模板缓存失效并不难
def invalidate_cache_key(fragment_name, *variables):
args = md5_constructor(u':'.join([urlquote(var) for var in variables]))
cache_key = 'template.cache.%s.%s' % (fragment_name, args.hexdigest())
cache.delete(cache_key)
但是,我有一种情况,我需要删除所有已传递给它们的特定变量的缓存片段。例如,删除有关汽车品牌“Toyota”的所有缓存片段。
{% cache 100000 car_content car.brand %}
基本上有没有办法根据一组特定条件获取所有 cache_keys ?我曾危险地考虑更改缓存源,但我想知道是否有更好的解决方案来解决这个问题。
最佳答案
我用缓存命名空间来做到这一点。这是一个体面的解释:
http://blog.dberg.org/2008/07/user-based-memcached-namespaces.html
关于Django - 基于变量使 Django 模板缓存过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4241343/