python flask:使用aws redis的会话缓存

u1ehiz5o  于 2021-06-08  发布在  Redis
关注(0)|答案(0)|浏览(249)

我开发了一个python flask应用程序,并将其部署在aws elastic beanstalk中。这是一个多区域的环境。对于服务器端会话管理,我使用redis。我已经做了正确的设置,没有连接问题以及。
但是当试图从会话中检索存储的值时,问题就来了。到目前为止,我是这样做的:
将csrf设置为会话

from flask import session
session["csrf_token"] = hashlib.sha1(os.urandom(64)).hexdigest()

从会话中获取csrf

from flask import session
str(session.get("csrf_token", "empty"))

但是当得到值时,它总是空的。但是当我检查redis db时,我可以看到存储的值:

aws-redis:6379> KEYS *
1) "session:5fda4e9c-0bc2-4502-94ad-3d61a26ff686"
aws-redis:6379> get session:5fda4e9c-0bc2-4502-94ad-3d61a26ff686
"\x80\x03}q\x00(X\n\x00\x00\x00_permanentq\x01\x88X\n\x00\x00\x00csrf_tokenq\x02X(\x00\x00\x004e5c9e126b5966123a27a518be0d47c1acfd1ad0q\x03u."

是什么原因导致flask app中的session对象无法访问redis中存储的值?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题