因为我是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发布于 2013-08-01 17:22:23
如果不是视图,我会建议这样做:打开一个与manage.py shell交互的shell,然后执行:
from django.db import connection
# execute your functions
print connection.queries在执行SQL查询时,此列表将填满这些查询。
但是由于这是一个视图,我建议您使用django-调试-工具栏。除了其他有用的东西之外,它还将显示在处理请求时执行的查询。
发布于 2017-10-17 15:03:40
你做得对。您编写的代码是为Memcached缓存而不是数据库缓存编写的。因此,缓存数据存储在服务器的RAM中,而不是存储在数据库中。通常这是最快的缓存技术,但是如果服务器没有足够的内存,这会使服务器崩溃,所有缓存的数据都会丢失。
对于数据库缓存,应该按照下面所示配置缓存设置,然后将缓存存储为数据库表。这里,my_cache_table是表名。
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'my_cache_table',
}
}阅读Django缓存文档,它有非常有用的信息。
https://stackoverflow.com/questions/18000379
复制相似问题