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>
    	
    

      

  • 相关阅读:
    [leetcode]34.Find First and Last Position of Element in Sorted Array找区间
    [leetcode]278. First Bad Version首个坏版本
    [leetcode]367. Valid Perfect Square验证完全平方数
    [leetcode]45. Jump Game II青蛙跳(跳到终点最小步数)
    [leetcode]55. Jump Game青蛙跳(能否跳到终点)
    [leetcode]26. Remove Duplicates from Sorted Array有序数组去重(单个元素只出现一次)
    [leetcode]27. Remove Element删除元素
    [leetcode]20. Valid Parentheses有效括号序列
    [leetcode]15. 3Sum三数之和
    C#中的局部类型
  • 原文地址:https://www.cnblogs.com/linzetong/p/8691059.html
Copyright © 2011-2022 走看看