相关疑难解决方法(0)

递归地使Django缓存中的路径无效

我正在从Django缓存中删除单个路径,如下所示:

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)
Run Code Online (Sandbox Code Playgroud)

这有效 - 但有没有办法递归删除?我的路径看起来像这样:

/graph/123
/graph/123/2009-08-01/2009-10-21
Run Code Online (Sandbox Code Playgroud)

只要保存了ID为"123"的图形,就需要使两个路径的缓存无效.可以这样做吗?

django caching path invalidation

6
推荐指数
1
解决办法
3164
查看次数

标签 统计

caching ×1

django ×1

invalidation ×1

path ×1