이 같은 장고 캐시에서 단일 경로를 삭제하고 장고 캐시에서 경로를 무효화 :재귀
from models import Graph
from django.http import HttpRequest
from django.utils.cache import get_cache_key
from django.db.models.signals import post_save
from django.core.cache import cache
def expire_page(path):
request = HttpRequest()
request.path = path
key = get_cache_key(request)
if cache.has_key(key):
cache.delete(key)
def invalidate_cache(sender, instance, **kwargs):
expire_page(instance.get_absolute_url())
post_save.connect(invalidate_cache, sender = Graph)
이 작동 -하지만 반복적으로 삭제하는 방법이? 내 경로는 다음과 같습니다 :
/graph/123 /graph/123/2009-08-01/2009-10-21
은 때마다 ID로 그래프 "123"저장되고, 두 경로에 대한 캐시 무효화 될 필요가있다. 이 작업을 수행 할 수 있습니까?
잘 모르겠 으면 귀하의 질문을 이해하면 올바른지, 당신은 모든 캐시를 내리고 싶다는 뜻 이겠지요 "123"이라는 ID를 가지고 있습니까? – Prashanth
'/ graph/123 /'로 시작하는 경로의 캐시를 비우고 싶습니다. – knipknap
나는 왜 당신이 경로에 대해 걱정하고 있는지 이해하지 못합니까? – Prashanth