07 Redis存储Session
Posted a2534786642
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07 Redis存储Session相关的知识,希望对你有一定的参考价值。
django-redis-sessions 官方文档:https://pypi.org/project/django-redis-sessions/
dango-redis 官方文档:http://niwinz.github.io/django-redis/latest/#_configure_as_cache_backend
安装模块:
1 安装模块 2 pip3 install django-redis-sessions 3 或者 4 pip3 install django-redis
本文这里用的是django 2.0语法,创建django项目
django-admin startproject mydjango
修改settings.py文件加入字段:
1 CACHES = 2 "default": 3 "BACKEND": "django_redis.cache.RedisCache", 4 "LOCATION": "redis://127.0.0.1:6379/0", 5 "OPTIONS": 6 "CLIENT_CLASS": "django_redis.client.DefaultClient", 7 "PASSWORD": "", 8 # "PARSER_CLASS": "redis.connection.HiredisParser", 9 # "SOCKET_TIMEOUT": 10, 10 # "CONNECTION_POOL_CLASS_KWARGS": 11 # "max_connections": 2, 12 # 13 14 15 16 17 #SESSION_COOKIE_AGE = 30 * 60 #设置session过期时间为30分钟 18 SESSION_ENGINE = ‘django.contrib.sessions.backends.cache‘
创建webapp
django-admin startapp app01
编写session视图函数 webapp.views
1 from django.shortcuts import render,HttpResponse 2 3 def set_session(request): 4 request.session[‘username‘]=‘zhanan‘ 5 request.session[‘age‘]=18 6 return HttpResponse("设置sesson成功") 7 8 def get_session(request): 9 username=request.session[‘username‘] 10 age = request.session[‘age‘] 11 return HttpResponse(username+":"+str(age))
添加url路由
vim mydjango/urls.py
1 from django.contrib import admin 2 from django.urls import path 3 from webapp import views 4 urlpatterns = [ 5 path(‘set_session/‘,views.set_session), 6 path(‘get_session/‘,views.get_session), 7 path(‘admin/‘, admin.site.urls),
确保启动redis服务端,默认方式启动
redis-server & redis-cli 连接无误 发送ping命令得到pong即可
启动django
python3 manage.py runserver 0.0.0.0:8000
访问视图,设置一条session信息,存入redis数据库
检查redis数据库,是否存在一条key
1 127.0.0.1:6379> keys * 2 1) ":1:django.contrib.sessions.cachep220moqvxclz2hyjqmbybqs3v8ck2i39" 3 4 获取这个key的值 5 127.0.0.1:6379> get :1:django.contrib.sessions.cachep220moqvxclz2hyjqmbybqs3v8ck2i39 6 "\\x80\\x04\\x95!\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x94(\\x8c\\busername\\x94\\x8c\\x06chaoge\\x94\\x8c\\x03age\\x94K\\x12u."
以上是关于07 Redis存储Session的主要内容,如果未能解决你的问题,请参考以下文章