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的主要内容,如果未能解决你的问题,请参考以下文章

PHP将 SESSION 数据保存到 Redis

07 Redis存储Session

java Redis 关于订阅的使用

java Redis 关于订阅的使用

java Redis 关于订阅的使用

java Redis 关于订阅的使用