我可以在哪里增加会话可以存储的限制?
项目有时需要将参数从一个页面传递到另一个页面,因此我将参数数据存储在会话
中我选择这种方法是因为我只能提出两种方法让另一页获得第一页的数据;通过查询字符串或通过会话。但是,我认为查询字符串不能存储太多数据,所以我选择第二种方法,是否有其他任何方式来实现这一点?
有时数据的长度可以达到25000个项目(略高于20k),并且网站不会传递此信息。
我认为因为会话的限制是20k,但我不知道在哪里设置它。
我正在使用Flask和Python 3.5。
答案 0 :(得分:2)
Flask中的默认Session
实施将数据存储在浏览器端cookie 中。它是一个base64编码的字符串,带有(可选的压缩)JSON字符串,加密签名以防止篡改。
此cookie的大小取决于数据的性质,因为压缩可以大大降低大小。您可以存储在cookie中的限制相对较低,取决于浏览器,但通常为4kb。见http://browsercookielimits.squawky.net/。我只想说你不能提高这个限制。
如果您需要存储更多数据,则需要选择不同的会话实现。查看Flask-Session,它允许您将小标识符cookie绑定到服务器端存储的数据(在memcached,redis,文件系统或数据库中)。这样您就可以在每个浏览器会话中跟踪更多数据。