django默认启用了session 禁用在MIDDLEWARE中注释掉
存储方式:默认数据库,本地缓存,混合存储,
第三方存储redis: 安装扩展 pip install django-redis
配置:在setting中 CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"
如果redis ip地址不是127.0.0.1连接redis报错 :修改redis配置参数,添加特定ip
打开redis配置文件 sudo vim /etc/redis/redis.conf 修改68,69行信息
重启redis sudo service redis-server restart
session操作:写 request.session['键']=值
读 request.session.get('键',默认值)
删 request.session.clear() 清除所有session,在存储中删除值部分
request.session.flush() 清除session数据,在存储中删除整条数据
del request.session['键'] 删除session中指定键的值
设置有效期 request.session.set_expiry(value) value为0 关闭浏览器过期,不设置,默认两个周