django中支持的缓存类型 Memcache redis Filesystem caching
django中的redis缓存
1 安装djando-redis pip install django-redis
2 global-settings中查找CACHE
3 在settings中配置 CACHES={
‘default’:{
‘BACKEND’:‘django_redis.cache.RedisCache’
‘LOACTION’:‘redis://127.0.0.1:6379/0’ ##配置主机信息与端口
}
}
缓存方法
1 直接获取redis对象,来缓存数据库
from django_redis imporet get_redis_connection
redis=get_redis_connection(加入缓存对象)
2 通过装饰器cache_page装饰器实现页面缓存
在views中要缓存的函数前加入 @cache_page(timeout=单位时间是秒 代表缓存时间)
from django.views.decorators.cache import cache_page
@cache_page缓存的是一个响应结果 对实时性不高的网站可以使用
全站缓存 通过配置中间件来实现缓存
在settings.py中配置中间件
中间件相应的时候是从下往上
中间件请求的时候是从上往下
django.middleware.cache.UpdateCacheMiddleware
(UpdateCacheMiddleware 是请求中间件必须放在所有的中间件的最前面 )
django.middleware.cache.FetchFromCacheMiddleware
(FetchFromCacheMiddleware是响应的中间件必须放在所有的中间件的最后面)
附加:django中的两种事务管理方法
事务管理的两个方法
- 1 在配置数据库的时候在下面加入 DETABASES={‘default’:{‘AUTOMIC_REQUESTS’:True}}
- 2 在views的函数上加入装饰器@transaction.atomic