django中支持的缓存:
- Memcahce
- Redis
- FileSystem
django中集成redis
-
引入 django-redis
pip install django-redis
-
在 django中
settings.py
配置 redis 的服务信息
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://127.0.0.1:6379/0',
'OPTIONS':{
"PASSWORD": ""
}
}
}
1、直接获取 redis 对象,来操作缓存数据库
from django-redis import get_redis_connection
redis = get_redis_connection('default')
2、局部缓存 通过 cache_page
装饰器,实现页面的缓存
from django.views.decorators.cache import cache_page
在 视图上 添加 @cache_page(timeout=单位是秒,代表缓存的时间)
@cache_page 缓存的是一个响应的结果、这个技术一般运用在 对 实时性 要求不高的网站
3、全站缓存, 通过配置 中间件来实现
django.middleware.cache.UpdateCacheMiddleware
UpdateCacheMiddlewar 中间件 必须放在 所有的中间件的 最 前 面
django.middleware.cache.FetchFromCacheMiddleware
FetchFromCacheMiddleware 中间件 必须放在 所有的中间件的 最 后 面