Django cache.clear()无效

时间:2016-03-03 13:09:37

标签: django memcached

我在我的机器上设置了memcached,并将其添加到这样的视图中:

@cache_page(3600)
def course_list(request, market_code, destination=None, course_type=None):    
    template = 'course_list.html'
    ...
    ..

我已经设置了一个在访问时清除缓存的视图

from django.core.cache import cache
class ClearCacheView(TemplateView):
    """
    This view will clear the cache and display a message to the user saying so
    """
    template_name = 'ebsadmin/cache_clear_success.html'
    def get_context_data(self, **kwargs):
        cache.clear()
        return super(ClearCacheView, self).get_context_data(**kwargs)

当我访问ClearCacheView时,会显示成功模板,但不会删除缓存中的项目。

setings.py

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
        'TIMEOUT':36000

    },
}

我在模板中有一个时间戳,所以我可以告诉你是否正在使用缓存:

<!-- {% now "jS F Y H:i:s" %} -->
根据我的理解,

cache.clear应该清除所有内容。那么为什么它不在这里做任何事情呢?

1 个答案:

答案 0 :(得分:1)

您正在使用正确的语法清除Memcached的{​​{3}}文档中指定的缓存。

您可能需要验证memcached守护程序是否正在运行,如果它未运行,则django cache命令可能导致无输出。尝试使用memcached重新运行它以查看端口是否已被占用。