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