Django使用redis实现缓存

来源:互联网 发布:网络创世纪安卓 编辑:程序博客网 时间:2024/06/05 04:04

实现缓存的方式,有多种,本地内存缓存,数据库缓存,文件系统缓存。这里介绍使用Redis数据库进行缓存。


环境

  • redis
  • django-redis

配置

  • settings.py
CACHES = {    "default": {        "BACKEND": "django_redis.cache.RedisCache",        "LOCATION": "redis://127.0.0.1:6379/1",        "OPTIONS": {            "CLIENT_CLASS": "django_redis.client.DefaultClient",            "PASSWORD": "mysecret"        }    }}
python manage.py createcachetable

缓存有站点缓存,和单个view缓存

  • 站点缓存:
    • settings.py
    MIDDLEWARE = [    # 站点缓存 , 注意必须在第一个位置    'django.middleware.cache.UpdateCacheMiddleware',    ...    # 站点缓存, 注意必须在最后一个位置    'django.middleware.cache.FetchFromCacheMiddleware', ]
  • 视图缓存:
    • views.py
from django.shortcuts import renderfrom django.views.decorators.cache import cache_pagefrom cache.models import Foo# 在需要缓存的视图上添加装饰器, 参数是设置timeout 超时时间, 单位是秒, @cache_page(60)def index(request):    bar = Foo.objects.all()    return render(request, 'cache/index.html', {'bar': bar})
原创粉丝点击