2017-04-16 74 views
0

我在哪里可以增加会话可以存储的限制?如何在烧瓶中设置会话的限制?

项目有时需要从一个网页到另一个传递参数,所以我的参数数据存储在会话

我选择这种方法,因为我只能想出两种方式,让另一个页面获得第一页面的数据;通过查询字符串或通过会话。但是,我认为查询字符串不能存储太多的数据,所以我选择第二种方法,是以其他方式来实现这一目标吗?

有时数据的长度可以达到25000个项目(略多于20K),并且网站不会传递此信息。

我想因为会话的限制是20k,但我不知道在哪里设置它。

我在使用Flask和Python 3.5。

回答

2

Flask中的默认Session实现将数据存储在浏览器端Cookie中。它是一个base64编码的字符串,带有(可选压缩的)JSON字符串,该字符串以加密方式签名以防止被篡改。

这个cookie取得多大取决于数据的性质,因为压缩可能会大大降低大小。您可以存储在cookie中的限制相对较低,取决于浏览器,但通常为4kb。请参阅http://browsercookielimits.squawky.net/。只要说你不能提出这个限制就足够了。

如果您需要存储更多数据,您需要选择不同的会话实现。看看Flask-Session,它可以让你将一个小的标识符cookie绑定到服务器端存储的数据(在memcached,redis,文件系统或数据库中)。这样可以让您在每个浏览器会话中追踪更多的数据。