由于我是django-cache的新手,我试图在Django中缓存特定的视图。 我不确定数据是从缓存还是从数据库中获取的。 我该如何验证?作为一个新手,请检查我是否正确缓存了视图?
Views.py
@cache_page(900)
def dashboard(request):
__something__
Settings.py
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211',
}
}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_SECONDS = 600
答案 0 :(得分:1)
如果它不是一个视图,我建议这样做:用manage.py shell
打开一个交互式shell,然后执行:
from django.db import connection
# execute your functions
print connection.queries
执行它们时,此列表将填充SQL查询。
但由于这是一个观点,我建议你使用django-debug-toolbar。除了其他有用的东西,它还会显示处理请求时执行的查询。
答案 1 :(得分:0)
你正确地做到了。您编写的代码是Memcached Cache而不是数据库缓存。因此,缓存数据存储在服务器的RAM中,而不是存储在数据库中。通常这是最快的缓存技术,但如果您的服务器没有足够的内存,这可能会导致服务器崩溃,并且所有缓存的数据都将丢失。
对于数据库缓存,应按如下所示配置缓存设置,然后将缓存存储为数据库表。这里my_cache_table是表名。
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}
阅读Django cache documentation,它有非常有用的信息。