我在我的 Web 应用程序中添加了一个简单的缓存,当我删除或添加新对象时,缓存不会在我设置的时间段(2 分钟)后刷新。
它看起来像冻结了。当我重新启动我的应用程序时,它会被刷新。
我在 memached 和 locmemcache 上试过了。
INDEX_LIST_CACHE_KEY = "index_list_cache_key"
class IndexView(BaseView):
queryset = Advert.objects.all().select_related('category', 'location')[:25]
template_name = "adverts/category_view.html"
def get_queryset(self):
queryset = cache.get(INDEX_LIST_CACHE_KEY)
if queryset is None:
queryset = self.queryset
cache.set(INDEX_LIST_CACHE_KEY, queryset, 2 * 60)
return queryset
为什么缓存在这个项目中表现得像这样?
编辑-settings.py:
对于 locmemcache
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'oglos-cache'
}
}
对于内存缓存
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}