在Rails 3中,默認的會話存儲機制是cookie_store。我認爲這意味着會話哈希中的內容被序列化,編碼並存儲在瀏覽器中的cookie中?這是否意味着會話中沒有(或很少)會存儲在服務器中?Rails 3基於Cookie的會話問題
我有幾個問題,我有一個cookie溢出錯誤,我假設,因爲我不斷添加到我的用戶實例(這也鏈接/從cookie中提取)。
u = session[:user]
u.add_this lots_of_data
所以最終我得到了一個cookie溢出錯誤。
我正確嗎?會話是否完全存儲在Rails 3中的Cookie中(默認情況下)?
是的,確切地說。換句話說,當你只能存儲他們的數據庫ID時,不要在會話中存儲整個模型。 – 2010-09-13 07:56:57
對。究竟!問題依然存在,模型本身是否會在Cookie中隨着您在服務器上的填充而變得越來越大? – matsko 2010-09-13 16:02:43
如果您將ID放入會話中,您將在會話中擁有該ID,沒有別的。如果在會話中放置一個完整的對象(如上面的示例中所示),它將佔用序列化對象所需的儘可能多的空間... – averell 2010-09-14 07:36:39