我想使用per-view cache。我知道它是如何工作的,但问题出在哪里?如何使该缓存无效?每次更改数据库记录时都必须这样做。没有关于如何做到这一点的信息:/
答案 0 :(得分:5)
这是我发现可能有帮助的django片段:
from django.core.cache import cache
from django.http import HttpRequest
from django.utils.cache import get_cache_key
def expire_page(path):
request = HttpRequest()
request.path = path
key = get_cache_key(request)
if cache.has_key(key):
cache.delete(key)
否则,这个问题更详细地讨论了这个问题:Expire a view-cache in Django?
答案 1 :(得分:1)
请看一下这个代码段http://djangosnippets.org/snippets/936/。每次要使缓存无效时,将视图的路径(url)传递给expire_page函数函数。