zoukankan      html  css  js  c++  java
  • django之页面缓存

    一  全站缓存(全局缓存)

    在settings中配置,主要就是两个中间件,需要注意的就是两个中间件的前后位置

    MIDDLEWARE_CLASSES = (
                ‘django.middleware.cache.UpdateCacheMiddleware’, #第一
                'django.middleware.common.CommonMiddleware',
                ‘django.middleware.cache.FetchFromCacheMiddleware’, #最后
                )
    # 以秒为单位,缓存事件
    CACHE_MIDDLEWARE_SECONDS=10

    二  单页面缓存

    不需要在settings中配置,只在需要在需要缓存页面的视图函数上加装饰器

    from django.views.decorators.cache import cache_page
    
    # 装饰器加载视图函数上即可,括号中的数字为缓存时间,以秒为单位
    
    @cache_page(5)
    def time(request):
        import time
        ctime = time.time()
        return render(request,'time.html',locals())

    三  页面局部缓存

    不需要在setings中配置,在需要缓存的页面的局部中就加入一下内容:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p>局部缓存:
        {% load cache %}
        {#第一个参数是时间,第二个参数是别名#}
        {% cache 5 'test' %}
            {{ ctime }}
        {% endcache %}
    </p>
    <p>没有缓存:
        {{ ctime }}
    </p>
    
    
    </body>
    </html>

    四  缓存的位置

    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',  # 指定缓存使用的引擎
            'LOCATION': 'D:lqzcatch',  # 指定缓存的路径
            'TIMEOUT': 300,  # 缓存超时时间(默认为300秒,None表示永不过期)
            'OPTIONS': {
                'MAX_ENTRIES': 300,  # 最大缓存记录的数量(默认300)
                'CULL_FREQUENCY': 3,  # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
            }
        }
    }
  • 相关阅读:
    十二月31日
    十二月31号
    10,28
    10,27
    十月26
    十月22
    十月21
    十月二十
    十月16
    0227 数据库的知识
  • 原文地址:https://www.cnblogs.com/zhaijihai/p/10149271.html
Copyright © 2011-2022 走看看