Django中的CACHE_BACKEND参数和站点级Cache设置
CACHE_BACKEND参数
每个缓存后端都可能使用参数。 它们在CACHE_BACKEND设置中以查询字符串形式给出。 有效参数如下:
- timeout:用于缓存的过期时间,以秒为单位。 这个参数默认被设置为300秒(五分钟)。
- max_entries:对于内存,文件系统和数据库后端,高速缓存允许的最大条目数,超出这个数则旧值将被删除。 这个参数默认是300。
- cull_percentage :当达到 max_entries 的时候,被删除的条目比率。 实际的比率是 1/cull_percentage ,所以设置cull_frequency=2就是在达到 max_entries 的时候去除一半数量的缓存。
把 cull_frequency 的值设置为 0 意味着当达到 max_entries 时,缓存将被清空。 这将以很多缓存丢失为代价,大大提高接受访问的速度。
在这个例子中, timeout 被设成 60
CACHE_BACKEND = "memcached://127.0.0.1:11211/?timeout=60"
而在这个例子中, timeout 设为 30 而 max_entries 为 400 :
CACHE_BACKEND = "locmem:///?timeout=30&max_entries=400"
其中,非法的参数与非法的参数值都将被忽略。
站点级 Cache
一旦高速缓存设置,最简单的方法是使用缓存缓存整个网站。 您 需要添加'django.middleware.cache.UpdateCacheMiddleware'和 ‘django.middleware.cache.FetchFromCacheMiddleware'到您的MIDDLEWARE_CLASSES设置中,在这个例子中是:
MIDDLEWARE_CLASSES = ( 'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', )
注意:
不,这里并没有排版错误: 修改的中间件,必须放在列表的开始位置,而fectch中间件,必须放在最后。 细节有点费解,如果您想了解完整内幕请参看下面的MIDDLEWARE_CLASSES顺序。
然后,在你的Django settings文件里加入下面所需的设置:
- CACHE_MIDDLEWARE_SECONDS :每个页面应该被缓存的秒数。
- CACHE_MIDDLEWARE_KEY_PREFIX :如果缓存被多个使用相同Django安装的网站所共享,那么把这个值设成当前网站名,或其他能代表这个Django实例的唯一字符串,以避免key发生冲突。 如果你不在意的话可以设成空字符串。
缓存中间件缓存每个没有GET或者POST参数的页面。 或者,如果CACHE_MIDDLEWARE_ANONYMOUS_ONLY设置为True,只有匿名请求(即不是由登录的用户)将被缓存。 如果想取消用户相关页面(user-specific pages)的缓存,例如Djangos 的管理界面,这是一种既简单又有效的方法。 CACHE_MIDDLEWARE_ANONYMOUS_ONLY,你应该确保你已经启动AuthenticationMiddleware。
此外,缓存中间件为每个HttpResponse自动设置了几个头部信息:
- 当一个新(没缓存的)版本的页面被请求时设置Last-Modified头部为当前日期/时间。
- 设置Expires头部为当前日期/时间加上定义的CACHE_MIDDLEWARE_SECONDS。
- 设置Cache-Control头部来给页面一个最长的有效期,值来自于CACHE_MIDDLEWARE_SECONDS设置。
如果视图设置自己的缓存到期时间(即 它有一个最大年龄在头部信息的Cache-Control中),那么页面将缓存直到过期,而不是CACHE_MIDDLEWARE_SECONDS。使用django.views.decorators.cache装饰器,您可以轻松地设置视图的到期时间(使用cache_control装饰器)或禁用缓存视图(使用never_cache装饰器)。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

浏览器缓存视频在哪个文件夹在日常使用互联网浏览器时,我们经常会观看各种在线视频,比如在YouTube上看音乐视频或在Netflix上观看电影等。而这些视频在加载过程中会被浏览器缓存下来,以便日后再次播放时能够快速加载。那么问题来了,这些缓存的视频实际上存储在哪个文件夹中呢?不同浏览器的缓存视频文件夹保存位置是不同的。下面我们将分别介绍几种常见的浏览器以及它们

DNS(DomainNameSystem)是互联网中用于将域名转换为对应IP地址的系统。在Linux系统中,DNS缓存是一种将域名和IP地址的映射关系存储在本地的机制,可提高域名解析速度,减轻DNS服务器的负担。DNS缓存允许系统在之后访问相同域名时快速检索IP地址,而不必每次都向DNS服务器发出查询请求,从而提高网络性能和效率。本文不念将和大家一起探讨如何在Linux上查看和刷新DNS缓存,以及相关的详细内容和示例代码。DNS缓存的重要性在Linux系统中,DNS缓存扮演着关键的角色。它的存在

CPU(中央处理器)、内存(随机存取存储器)以及缓存之间存在着紧密的相互作用,它们合力构成了计算机系统的关键组成部分。它们之间的协调配合,确保了计算机的正常运行和高效性能。CPU作为计算机的大脑,负责执行各种指令和数据处理;内存则用于临时存储数据和程序,提供了快速的读写访问速度;而缓存则起到了缓冲作用,加快了数据的访问速度,提高了计算机的CPU是计算机的核心组件,负责执行各种指令、算术运算和逻辑操作。它被称为计算机的"大脑",承担着处理数据和执行任务的重要角色。内存是计算机中一种重要的存储设备,

标题:HTML文件的缓存机制及代码示例导语:在编写网页时,我们经常会遇到浏览器缓存的问题。本文将详细介绍HTML文件的缓存机制,并提供一些具体的代码示例,以帮助读者更好理解和应用这一机制。一、浏览器缓存原理在浏览器中,每当访问一个网页时,浏览器会先检查缓存中是否有该网页的副本。如果有,则直接从缓存获取网页内容,这就是浏览器缓存的基本原理。浏览器缓存机制的好处

PHPAPCu(替代php缓存)是一个加速PHP应用程序的opcode缓存和数据缓存模块。理解其高级功能对于充分利用其潜力至关重要。1.批量操作:APCu提供批量操作方法,可同时处理大量键值对。这对于大规模缓存清除或更新非常有用。//批量获取缓存键$values=apcu_fetch(["key1","key2","key3"]);//批量清除缓存键apcu_delete(["key1","key2","key3"]);2.设置缓存过期时间:APCu允许您为缓存项设置过期时间,以便在指定时间后自

SpringBoot是一款广受欢迎的Java框架,以其简单易用和快速开发而著称。然而,随着应用程序的复杂性增加,性能问题可能会成为瓶颈。为了帮助您打造疾风般快速的springBoot应用,本文将分享一些实用的性能优化秘诀。优化启动时间应用程序的启动时间是用户体验的关键因素之一。SpringBoot提供了多种优化启动时间的途径,例如使用缓存、减少日志输出和优化类路径扫描。您可以通过在application.properties文件中设置spring.main.lazy-initialization

浏览器缓存的视频怎么导出来随着互联网的快速发展,视频已经成为人们日常生活中不可或缺的一部分。而在浏览网页时,我们常常会遇到想要保存或分享的视频内容,但是有时候我们却无法找到视频文件的来源,因为它们可能只存在于浏览器的缓存中。那么,如何导出浏览器缓存中的视频呢?本文将为您介绍几种常用的方法。首先,我们需要明确一个概念,即浏览器缓存。浏览器缓存是浏览器为了提高用

如何在PyCharm中利用Django框架创建项目的技巧,需要具体代码示例Django是一款功能强大的PythonWeb框架,它提供了一系列用于快速开发Web应用程序的工具和功能。而PyCharm则是Python开发的一款集成开发环境(IDE),提供了一系列方便的功能和工具来增加开发效率。结合Django和PyCharm,在创建项目方面,可以更加快速、方便
