Django中提供了6种缓存方式:
开发调试(默认缓存)
内存
文件
数据库
Memcache缓存
第三方库支持redis:django-redis
设置缓存:
# 全站缓存(中间件)
MIDDLEWARE = [
‘django.middleware.cache.UpdateCacheMiddleware’, #第一个位置
'django.middleware.common.CommonMiddleware',
‘django.middleware.cache.FetchFromCacheMiddleware’, #最后位置
]
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', # 取决于您选择的Memcached绑定
'LOCATION': ['127.0.0.1:11211', ], # 缓存后端服务器位置,支持分布式,可多个
'TIMEOUT': 5 * 60, # 缓存超时,默认300s
}
}
# 视图缓存
@cache_page(15) #超时时间为15秒
def index(request):
t=time.time() #获取当前时间
return render(request,"index.html",locals())
# 模板缓存
{% load cache %}
{% cache 2 'name' %} # 存的key
<h3>缓存:{{ t }}</h3>
{% endcache %}