安装实验所需模块
pip3 install django-redis
pip3 install Django==2.1.5
创建django项目
django-admin startproject redis_site
- 进入项目文件夹
redis_site
中
可以看到生成了一个manage.py
文件以及项目同名的主项目文件夹
,进入主项目文件可以看到一些初始文件
修改settings.py文件
- 在
settings.py
中配置django cache
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://172.22.0.9:6379", # redis容器的ip:端口
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient", #客户端
"PASSWORD": "", #设置redis密码
# "PARSER_CLASS": "redis.connection.HiredisParser", #解析器
# "SOCKET_TIMEOUT": 10, #连接超时时间
# "CONNECTION_POOL_CLASS_KWARGS": {
# "max_connections": 2, #连接池的最大连接数,满足高并发需求
# }
}
}
}
- 在
settings.py
文件中加入一行,如下所示:
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
作用: 将django.contrib.sessions.backends.cache
设置为存储引擎
设置完后如下:
- 创建应用 appredis
django-admin startapp appredis
- 编写session视图函数
appredis
文件夹下的views.py
定义set
和get
函数
from django.shortcuts import render,HttpResponse
def set_session(request):
request.session['username']='shark'
request.session['age']=18
return HttpResponse("设置sesson成功")
def get_session(request):
username=request.session['username']
age = request.session['age']
return HttpResponse(username+":"+str(age))
- 在主路由下的urls.py文件中添加url路由
from django.contrib import admin
from django.urls import path
from appredis import views
urlpatterns = [
path('set_session/',views.set_session),
path('get_session/',views.get_session),
path('admin/', admin.site.urls),
]
- 确保启动redis服务端,默认方式启动
redis-server /etc/redis/6379.conf
redis-cli -p 6379
发送ping命令得到pong即可
- 启动django
python3 manage.py runserver
-
访问视图,设置一条session信息,存入redis数据库
-
访问视图,获取session信息
检查redis数据库
redis-cli -p 6379
127.0.0.1:7001> keys *
-
查看此 key 的值