Django缓存机制

django的缓存

在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面.

当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力.

缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户.

https://www.cnblogs.com/liuqingzheng/articles/9803351.html

Django中的6种缓存方式

  • 开发调试缓存
  • 内存缓存
  • 文件缓存
  • 数据库缓存
  • Memcache缓存(使用python-memcached模块)
  • Memcache缓存(使用pylibmc模块)

经常使用的有文件缓存和Mencache,redis缓存

1.全站缓存:

在setting中配置:两个中间件:
MIDDLEWARE = [    # 放页面的时候,应该放在最前面,放缓存response     ‘django.middleware.cache.UpdateCacheMiddleware‘,   ‘django.middleware.common.CommonMiddleware‘,     ‘django.middleware.cache.FetchFromCacheMiddleware‘,    # 取页面放在这个位置,最后,取缓存,request]
# 以秒为单位缓存时间CACHE_MIDDLEWARE_SECONDS = 10
# 这个配置是:把缓存放在文件指定的文件里面CACHES = {    ‘default‘: {        ‘BACKEND‘: ‘django.core.cache.backends.filebased.FileBasedCache‘,  # 指定缓存使用的引擎        ‘LOCATION‘: ‘C:\Django_study\catch‘,  # 指定缓存的路径        ‘TIMEOUT‘: 300,  # 缓存超时时间(默认为300秒,None表示永不过期)        ‘OPTIONS‘: {            ‘MAX_ENTRIES‘: 300,  # 最大缓存记录的数量(默认300)            ‘CULL_FREQUENCY‘: 3,  # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3)        }    }}

2.单页面缓存:

在view——视图层中from django.views.decorators.cache import cache_page
装饰器加在视图函数上即可
缓存5秒
@cache_page(5)

3.页面局部缓存:

在templete中:

       {% load cache %}
            #第一个参数是缓存时间,第二个参数是别名
            {% cache 5 ‘test‘ %}
            缓存的时间:
            {{ ctime }}
            {% endcache %}

原文地址:https://www.cnblogs.com/cao123/p/10153340.html

时间: 2024-11-06 11:44:12

Django缓存机制的相关文章

contenttype组件、Django缓存机制以及跨域请求

1 昨日回顾 版本控制 *** (1)url=127.0.0.1/course/?version=v100000 1 versioning_class=QueryParameterVersioning 'VERSION_PARAM':'version', 'DEFAULT_VERSION':'v2', 'ALLOWED_VERSIONS':['v1','v2'] 2 配置成全局:在setting里:QueryParameterVersioning (2)重要(以后建议用这种):127.0.0.1

Django 之 缓存机制

Django 缓存机制 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户. Django提供了6种缓存

Django的缓存机制和信号

Django的缓存机制 1.1 缓存介绍 1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户. 2

django的缓存机制

一.缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务器的压力. 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户. 二.Django的6种缓存方式 三.Djang

Django—— 缓存框架

译者注:1.无用的,吹嘘的说辞不翻译:2.意译,很多地方不准确. 动态网站最为重要的一点就是好,网页是动态的.每一次用户请求页面,网站就要进行各种计算——从数据库查询,到render模板,到各种逻辑运算——生成页面所需的.这个过程是异常消耗资源的,远远比从硬盘读取一个文件然后显示出来的代价高昂. 对于大多数中小网站来说,这也许不是问题,因为他们的访问量不大,而对于大型网站而言,必须尽量减少不必要的服务器资源开支. 因此,有了缓存技术. 缓存就是把一些需要消耗很多资源的计算结果保存下来,当下次需要

Django 缓存方案

在大型网站上,如果访问的流量很多,又有很多动态的内容,这样每次获取一个信息都要去访问数据库,效率就会比较低下.这种情况下,一般都会使用缓存机制,首先去缓存里面找,如果有信息,那么直接获取:没有的话才去数据库获取,然后在缓存里面生成一个数据可以给下一次访问使用. Django里面支持5种常见的缓存设置. 开发测试 本地内存 文件 数据库 Memcached(或者Redis) 这些配置都是在settings.py里面配置的. 开发测试,如果希望生产环境配置缓存,测试不需要,那么只需设置为dummyc

Django——惰性机制

Django惰性机制 所谓惰性机制:Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象), 它并不会马上执行sql,而是当调用QuerySet的时候才执行. 了解什么是QuerySet? QuerySet是查询集,就是传到服务器上的url里面的查询内容. Django会对查询返回的结果集QuerySet进行缓存,这是为了提高查询效率. 也就是说,在你创建一个QuerySet对象的时候,Django并不会立即向数据库发出查询命令,

浏览器缓存机制浅析

非HTTP协议定义的缓存机制 浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires: Cache-control等).但是也有非HTTP协议定义的缓存机制,如使用HTML Meta 标签,Web开发者可以在HTML页面的<head>节点中加入<meta>标签,代码如下: <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 上述代码的作用是告诉浏览器当前页面不被缓存,每

Hibernate 缓存机制

一.why(为什么要用Hibernate缓存?) Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能. 缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. 二.what(Hibernate缓存原理是怎样的?)Hibernate缓存包括两大类:Hibernate一级缓存和Hibernate二级缓存. 1.Hibernate一级缓存又称为“Session的