用django-redis来存储session及记住用户的登录名 : django开发之天天生鲜项目知识总结【7】

介绍

django-redis:基于BSD许可,是一个使Django支持 Redis cache/session 后端的全功能组件~~

没有安装reids的也可以看我之前的文章:
1.【超详细安装配置教程】安装及配置redis数据库 ,与安装 tcl8.6.8版本
2.【简单的配置】配置redis
3. redis_启动服务端和客户端


  • 1.下面首先进行安装:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django-redis
  • 2.作为 cache backend 进行配置:直接在项目的settings文件中加入下面的代码:
    django里面有一个 缓存的设置,简单来说,举个例子,就是从数据库中拿到的东西,找个地方存起来,但多次使用时,比直接从数据库中再次提取数据要快的多。(后面的总结中再深入讲django缓存,这里先说存储session)
# Django的缓存配置
CACHES = {
     
    "default": {
     
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://172.16.179.130:6379/9", # 配置使用的redis 地址和端口号和第几个数据库
        "OPTIONS": {
     
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}
  • 3)作为session backend使用配置:
    Django,默认使用任何 cache backend 作为 session backend,将django-redis作为sessionc存储后端,不用安装任何额外的 backend。
# 配置session存储
SESSION_ENGINE = "django.contrib.sessions.backends.cache"  # 控制你的session应该保存到哪里。
SESSION_CACHE_ALIAS = "default"

默认的有三种存储方式
用django-redis来存储session及记住用户的登录名 : django开发之天天生鲜项目知识总结【7】_第1张图片

  • 做完这些配置之后就可以使用redis,来存储session了~

后续更多内容,以后会继续讲解。

  • 另外存储时会遇到错误,解决办法:
    Invalid input of type: CacheKey. Convert to a byte, string or number first

你可能感兴趣的:(python,Django)