创新互联Django4.0教程:Django4.0缓存框架-站点缓存

一旦缓存设置完毕,使用缓存最简便的方式就是缓存整个站点。你需要在 ​MIDDLEWARE ​设置中添加 ​django.middleware.cache.UpdateCacheMiddleware​和 ​django.middleware.cache.FetchFromCacheMiddleware​,像下面这个例子一样:

成都创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目成都网站制作、成都网站建设、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元恩阳做网站,已为上家服务,为恩阳各地企业和个人服务,联系电话:18980820575

MIDDLEWARE = [
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
]

最后,在 Django 设置文件里添加下面的必需配置:

  • CACHE_MIDDLEWARE_ALIAS ​-- 用于存储的缓存别名。
  • CACHE_MIDDLEWARE_SECONDS ​-- 应缓存每个页面的秒数。
  • CACHE_MIDDLEWARE_KEY_PREFIX ​-- 如果使用相同的 ​Django installation ​,通过多站点进行缓存共享,请将此值设置为站点名,或者设置成在Django 实例中唯一的其他字符串,以此防止键冲突。如果你不介意,可以设置成空字符串。

在请求和响应标头允许的情况下,​FetchFromCacheMiddleware ​缓存状态为200的 ​GET ​和 ​HEAD ​响应。对于具有不同查询参数的相同URL的请求的响应被认为是单独的页面,并分别缓存。这个中间件期望一个​HEAD​请求的响应头与相应的GET请求具有相同的响应头;在这种情况下,它可以为​HEAD​请求返回一个缓存的​GET​响应。

此外,​UpdateCacheMiddleware ​在每个 ​HttpResponse ​里会自动设置一些 ​headers​,这会影响 下游缓存:

  • 设置 ​Expires header​ 为当前日期/时间加上定义的 ​CACHE_MIDDLEWARE_SECONDS
  • 设置 ​Cache-Control header​ 为缓存页面的最长时间,同样,在 ​CACHE_MIDDLEWARE_SECONDS​ 里设置

如果一个视图设置了它自己的缓存过期时间(比如在它的 ​Cache-Control header​ 里有 ​max-age​ 部分),然后页面将被缓存起来直到过期,而不是 ​CACHE_MIDDLEWARE_SECONDS ​。使用在 ​django.views.decorators.cache​ 的装饰器,你可以很轻松的设置视图的过期时间(使用 ​cache_control()​ 装饰器)或者禁用视图缓存(使用 ​never_cache()​ 装饰器)。
如果设置 ​USE_I18N ​为 ​True​,然后已生成的缓存键将包含动态 ​language ​的名称。这将允许你轻松缓存使用多语言的站点,而不用再创建缓存键。
当 ​USE_TZ ​被设置为 ​True ​时,缓存键也包括当前时区。

当前题目:创新互联Django4.0教程:Django4.0缓存框架-站点缓存
分享路径:http://www.shufengxianlan.com/qtweb/news42/107892.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联