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,文件系統或數據庫中)。這樣可以讓您在每個瀏覽器會話中追蹤更多的數據。