【发布时间】:2023-03-21 20:23:01
【问题描述】:
我想使用per-view cache。我知道它是如何工作的,但问题出在哪里?如何使该缓存无效?每次更改数据库记录时,我都必须这样做。没有关于如何做到这一点的信息:/
【问题讨论】:
标签: django django-cache
我想使用per-view cache。我知道它是如何工作的,但问题出在哪里?如何使该缓存无效?每次更改数据库记录时,我都必须这样做。没有关于如何做到这一点的信息:/
【问题讨论】:
标签: django django-cache
这是一个我发现可能有用的 django sn-p:
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)
否则这个 SO 问题会更详细地说明:Expire a view-cache in Django?
【讨论】:
看看这个 sn-p http://djangosnippets.org/snippets/936/。每次要使缓存失效时,将视图的路径(url)传递给 expire_page 函数。
【讨论】:
reverse 正在返回您想要的网址吗?也许尝试对其进行硬编码以查看它是否有效。你如何测试缓存是否仍然有效?