首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-缓存测试

Django-缓存测试
EN

Stack Overflow用户
提问于 2013-08-01 17:09:55
回答 2查看 3.9K关注 0票数 3

因为我是django-cache的新手,所以我尝试在Django中缓存一个特定的视图。我不确定数据是从缓存还是从数据库中获取的。我该怎么证实呢?作为一个新手,请检查我是否正确地缓存视图?

Views.py

代码语言:javascript
复制
@cache_page(900)
def dashboard(request):

    __something__

Settings.py

代码语言:javascript
复制
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_SECONDS = 600
EN

回答 2

Stack Overflow用户

发布于 2013-08-01 17:22:23

如果不是视图,我会建议这样做:打开一个与manage.py shell交互的shell,然后执行:

代码语言:javascript
复制
from django.db import connection
# execute your functions
print connection.queries

在执行SQL查询时,此列表将填满这些查询。

但是由于这是一个视图,我建议您使用django-调试-工具栏。除了其他有用的东西之外,它还将显示在处理请求时执行的查询。

票数 3
EN

Stack Overflow用户

发布于 2017-10-17 15:03:40

你做得对。您编写的代码是为Memcached缓存而不是数据库缓存编写的。因此,缓存数据存储在服务器的RAM中,而不是存储在数据库中。通常这是最快的缓存技术,但是如果服务器没有足够的内存,这会使服务器崩溃,所有缓存的数据都会丢失。

对于数据库缓存,应该按照下面所示配置缓存设置,然后将缓存存储为数据库表。这里,my_cache_table是表名。

代码语言:javascript
复制
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
        'LOCATION': 'my_cache_table',
    }
}

阅读Django缓存文档,它有非常有用的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18000379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档