2013-06-25 57 views
0

我有一個在啓動時從數據庫讀取的類。我希望能夠將它存儲在會話中,但嘗試時會出現以下錯誤: 錯誤TypeError:沒有爲類Mutex定義marshal_dump 我正在做什麼可能/合理嗎?如果是這樣,我應該怎麼做呢?如果沒有,在會話中存儲類實例的最佳選擇是什麼?目前我的解決方法只是在需要時使用它來實例化,但這並不意味着我是一個好的解決方案或者可以擴展的解決方案。在會話服務器端存儲一個類實例w/Padrino?

回答

1

一個很好的選擇是將記錄的ID存儲在會話中。然後,當你再次需要這些數據時,你會使用助手從內存或數據庫中返回數據。一個很好的例子是許多ruby認證gem中的current_user幫助器方法中使用的模式。如果您發現它是一個瓶頸,您可以修改此幫助程序以使用緩存層,但我會在事實之後將其作爲優化離開。

不得不將對象轉換爲在會話中生活愉快的編組格式,存在存儲空間,陳舊數據以及可能無意中暴露於機密數據等問題。

相關問題