zoukankan      html  css  js  c++  java
  • Django中使用缓存

    settings中的配置

    CACHES = {
    	'default': {
    		'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',  # 指定缓存使用的引擎
    		'LOCATION': 'path',  # 指定缓存的路径
    		'TIMEOUT': 300,  # 缓存超时时间(默认为300秒,None表示永不过期)
    		'OPTIONS': {
    			'MAX_ENTRIES': 300,  # 最大缓存记录的数量(默认300)
    			'CULL_FREQUENCY': 3,  # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
    		}
    	}
    }
    

    按照缓存粒度不同分类

    单页面缓存

    在视图函数上加一个装饰器
    
    from django.views.decorators.cache import cache_page
    
    	@cache_page(5)    5 代表缓存时间	
        def testpage():
        	pass
    

    局部缓存

    # 模板文件中这样使用
    
    {% load cache %}
    {% cache 5 'test'%}    第一个参数表示缓存时间,第二个参数是key值(取缓存的时候,需要根据key值取)
    当前时间:{{ time }}
    {% endcache %}
    

    全站缓存

    #settings文件夹中的位置
    'django.middleware.cache.UpdateCacheMiddleware',						'django.middleware.cache.FetchFromCacheMiddleware'
    

    视图函数中使用缓存

    # view.py
    cache.set('test_data',{'name':'龙妈','age':18},5)
    cache.get('test_data')
    
  • 相关阅读:
    Mysql 创建表
    oracle数据库 ORA-01017的解决办法
    用Html创建简历
    Mysql 基本的增删改查
    Linux 基本操作
    几乎百度
    测试第二天
    java map接口,可变参数,Collections集合工具类
    java set接口
    java List接口
  • 原文地址:https://www.cnblogs.com/ruhai/p/11270208.html
Copyright © 2011-2022 走看看