zoukankan      html  css  js  c++  java
  • Django Cache缓存系统学习--数据库缓存

    Django是动态网站,用户每一次请求页面,服务器都会执行以下操作:数据库查询、渲染模版、执行业务逻辑,最后生成用户可查看的页面。当访问量比较大的时候,会消耗掉大量的资源,这时候就会考虑到缓存问题。

    缓存系统的工作原理:

    对于给定的网址,尝试从缓存中找到网址,如果页面在缓存中,直接返回缓存的页面,如果缓存中没有,一系列操作(比如查数据库)后,保存生成的页面内容到缓存系统以供下一次使用,然后返回生成的页面内容。

    下面是一些伪代码,诠释了使用缓存之后,页面的访问情况:

    given a URL, try finding that page in the cache
    if the page is in the cache:
        return the cached page
    else:
        generate the page
        save the generated page in the cache (for next time)
        return the generated page

    缓存设置:

    缓存系统需要少量的设置。 也就是说,你必须告诉它你的缓存数据应该存在哪里; 无论是在数据库中,在文件系统上还是直接在内存中。 这是影响缓存性能的重要决定。您的缓存首选项位于设置文件的CACHES设置文件中。

    CACHES = {
        'default': {
            'BACKEND': 'xx ',
            'LOCATION': 'xx',
        }
    }

    数据库缓存是Django缓存中的一种,它将缓存数据存到数据库中。将数据库用作缓存后端:

    • 将BACKEND设置为django.core.cache.backends.db.DatabaseCache

    • 将LOCATION设置为表名,即数据库表的名称。 这个名称可以是任何你想要的,只要它是一个尚未在数据库中使用的有效表名即可。

    在这个例子中,缓存表的名字是my_cache_table:

    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
            'LOCATION': 'my_cache_table',
        }
    }

    在使用数据库缓存之前,您必须使用以下命令创建缓存表:

    python manage.py createcachetable 【my_cache_table】

    未完待续。

     

  • 相关阅读:
    统计创建对象个数
    动手动脑
    开学第一周心得
    放假第五周总结
    放假第四周总结
    第一周总结
    04-异常处理-动手动脑
    03-继承与多态-动手动脑
    02-类和对象-跟踪类对象创建个数
    02-类和对象-动手动脑
  • 原文地址:https://www.cnblogs.com/wangyingblock/p/10405013.html
Copyright © 2011-2022 走看看