最近博客增长了许多新功能,访问速度有所降低,在国内某搜索引擎上查找的时候看到了这篇文字,简单明了,因此转发过来,虽不是原创可是但愿可以帮助更多的朋友。html
Django 官方缓存系统介绍:python
https://docs.djangoproject.com/en/1.8/to...数据库
配置cache方式及内部实现机制:django
django中cache大致分为三种,即针对全站的缓存配置、针对视图的缓存配置、针对数据的缓存配置。本站采用数据库+全站缓存。
1.设置缓存,在settings.py添加缓存
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.db.DatabaseCache', 'LOCATION': 'my_cache_table', # 要缓存的表名 'TIMEOUT': 600, # 默认的缓存有效时间,以秒计. 默认值是 300 秒(五分钟). 'OPTIONS': { 'MAX_ENTRIES': 1000 # 缓存的最大条目数(超出该数旧的缓存会被清除,默认值是 300). } } }
2.建立缓存表搜索引擎
python manage.py createcachetable
3.缓存整个站点code
设置了缓存类型以后, 最简单使用缓存的方式就是缓存整个站点. htm
在MIDDLEWARE_CLASSES
设置中添加 django.middleware.cache.CacheMiddleware
, 就象下面的例子同样:blog
MIDDLEWARE_CLASSES = ( 'django.middleware.cache.UpdateCacheMiddleware', # 注意位置,在前 'django.middleware.common.CommonMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', # 注意位置,在后 )
4.在settings.py添加CACHE_MIDDLEWARE_SECONDS :每一个页面应该被缓存的秒数。索引
CACHE_MIDDLEWARE_SECONDS = 500 # 每一个页面应该被缓存的秒数
5.重启django,就能够体验缓存了。