我在我的机器上设置了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应该清除所有内容。那么为什么它不在这里做任何事情呢?
答案 0 :(得分:1)
您正在使用正确的语法清除Memcached
的{{3}}文档中指定的缓存。
您可能需要验证memcached
守护程序是否正在运行,如果它未运行,则django cache命令可能导致无输出。尝试使用memcached
重新运行它以查看端口是否已被占用。