zoukankan      html  css  js  c++  java
  • Django缓存配置和使用

    - 缓存
    		- 配置
    			CACHES = {
    				'default': {
    					'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    					'LOCATION': 'unique-snowflake',
    					'TIMEOUT': 300,                                               # 缓存超时时间(默认300,None表示永不过期,0表示立即过期)
    					'OPTIONS':{
    						'MAX_ENTRIES': 300,                                       # 最大缓存个数(默认300)
    						'CULL_FREQUENCY': 3,                                      # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
    					}
    				}
    			}
    		
    			
    			
    			
    			CACHES = {
    				'default': {
    					'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
    					'LOCATION': 'D:cache',
    					'TIMEOUT': 300,                                               # 缓存超时时间(默认300,None表示永不过期,0表示立即过期)
    					'OPTIONS':{
    						'MAX_ENTRIES': 300,                                       # 最大缓存个数(默认300)
    						'CULL_FREQUENCY': 3,                                      # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
    					}
    				}
    			}
    			
    			
    			CACHES = {
    				'default': {
    					'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
    					'LOCATION': '127.0.0.1:11211',
    					'TIMEOUT': 300,                                               # 缓存超时时间(默认300,None表示永不过期,0表示立即过期)
    					'OPTIONS':{
    						'MAX_ENTRIES': 300,                                       # 最大缓存个数(默认300)
    						'CULL_FREQUENCY': 3,                                      # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)
    					}
    				}
    			}
    
    		- 应用
    			全站缓存:粒度大
    				MIDDLEWARE = [
    					'django.middleware.cache.UpdateCacheMiddleware',
    					'django.middleware.security.SecurityMiddleware',
    					'django.contrib.sessions.middleware.SessionMiddleware',
    					'django.middleware.common.CommonMiddleware',
    					'django.middleware.csrf.CsrfViewMiddleware',
    					'django.contrib.auth.middleware.AuthenticationMiddleware',
    					'django.contrib.messages.middleware.MessageMiddleware',
    					'django.middleware.clickjacking.XFrameOptionsMiddleware',
    					'django.middleware.cache.FetchFromCacheMiddleware',
    				]
    				CACHE_MIDDLEWARE_SECONDS = 5
    			
    			
    			
    			单独视图函数:粒度适中
    			
    				from django.views.decorators.cache import cache_page
    				
    				@cache_page(5)
    				def test(request):
    					# user_list = models.UserInfo.objects.all()
    					ctime = time.time()
    					return render(request,'test.html',{'ctime':ctime})
    					
    			局部模板:粒度小
    				{% load cache %}
    				<!DOCTYPE html>
    				<html lang="en">
    				<head>
    					<meta charset="UTF-8">
    					<title>Title</title>
    				</head>
    				<body>
    					<h1>{{ ctime }}</h1>
    
    					{% cache 5 'xxxxxfdfdf' %}
    						   <h1>{{ ctime }}</h1>
    					{% endcache %}
    
    				</body>
    				</html>
    	
    

      

  • 相关阅读:
    十四行诗 Sonnet 15
    P3386 【模板】二分图匹配
    20171105模拟题
    需要注意的各种各种 持续更新
    P1315 观光公交 贪心
    【搬家辣】
    【洛谷P2387】魔法森林
    【洛谷P3369】普通平衡树(splay)
    【算法详解】splay的初步了解
    研究性学习代码
  • 原文地址:https://www.cnblogs.com/linzetong/p/8691059.html
Copyright © 2011-2022 走看看