作为python web框架的老大大,其下一帮“小弟”辅助那是多的很的,这不,redis的搭配django_redis
完美辅助.关于redis我就不多做介绍了,
安装django_redis
pip install django_redis
django 项目settings.py 文件设置
CACHES = {
'default': {
'BACKEND': 'django_redis.cache.RedisCache',
'LOCATION': 'redis://127.0.0.1:6379/2',
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
},
},
}
然后开启redis,有两种方式启用django的cache,
站点缓存
MIDDLEWARE = [
# 站点缓存
# 'django.middleware.cach//e.UpdateCacheMiddleware',
***
页面缓存
from django.views.decorators.cache import cache_page
@cache_page(60)
def search(request):
maxLength = 9
if request.met
以上都是用django的cache的shortcut实现的
通过手动cache,具有更大的灵活性
from django.core.cache import cache
def visited_user(request):
key='visited'
if cache.has_key(key):
data = cache.get(key)
else:
data = get_data()
cache.set(key,data,60*60)
return data
def get_data()
data = Movie.objects.all()
return data
为visited_user视图配好路由url, 再写好前端页面即可访问
但是这个我这个例子不灵活,
后期的话可以用celery做后台任务,定时给某些特定模块加载缓存,以提高访问速度