2017-06-21 66 views
0

我试图缓存像这样不缓存视图在Django LocMemCache

urls.py

from django.views.decorators.cache import cache_page 
from django.conf.urls import url 
urlpatterns = [ 
    url(r'^/awesome-url$', cache_page(60 * 60)(TemplateView.as_view(template_name="awesome.html")), name="awesome"), 
] 

settings.py

CACHES = { 
    'default': { 
     'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 
     'LOCATION': 'unique-snowflake' 
    } 
} 

我希望一类基于视图我希望能够缓存我的观点,并且想通过以下方式来验证这是发生的:

from django.core.cache.backends import locmem 
print locmem._caches 
>{} 

来源:Contents of locmem cache in django?

可悲的是后端是空的。所以我怀疑这个观点正在被缓存,任何人都可以帮忙?

+0

你在哪里运行该命令来间接缓存? –

+0

嗨丹尼尔,从我的shell通过'./manage.py shell' – theamateurdataanalyst

回答

0

正如我在那个链接的答案中所说的,LocMem缓存确实是名称所描述的:a 本地内存缓存。它只是每个进程中的全局变量,只能在该进程内部访问。

shell中的命令无法访问运行在服务器中的本地内存缓存的内容。

使用不同的缓存后端,或从视图内打印缓存值。