1)什麼是應該連接到會話的對象的可接受大小範圍?如果我附加一個可以是5k的對象,並且在任何給定的時間我都有10k個有效會話,那麼這是50MB的內存,這對我來說似乎是可以接受的。這是解決問題的有效方法,還是存在其他重大問題?Servlet會話屬性大小和生命週期
2)這可能是一個愚蠢的問題,但如果我附上一個對象的會話與2周的一生,我可以訪問屬性,就好像是在內存中的會話的整個過程?
3)是否有什麼理由不始終堅持會話信息到數據庫?
1)什麼是應該連接到會話的對象的可接受大小範圍?如果我附加一個可以是5k的對象,並且在任何給定的時間我都有10k個有效會話,那麼這是50MB的內存,這對我來說似乎是可以接受的。這是解決問題的有效方法,還是存在其他重大問題?Servlet會話屬性大小和生命週期
2)這可能是一個愚蠢的問題,但如果我附上一個對象的會話與2周的一生,我可以訪問屬性,就好像是在內存中的會話的整個過程?
3)是否有什麼理由不始終堅持會話信息到數據庫?
可接受的大小取決於您的用例和併發會話數。如果您的會話持續2周,那麼可以設想您可以進行大量併發會話,但是如果10k是您的最大預期值,那麼對於5k會話對象應該沒有問題(如您的計算所示)。
只要你有會話對象的引用(或能夠得到這樣的參考),那麼數據將在會議上堅持。請記住,您的會話對象必須是可序列化的。
您可能不希望所有的會話數據保存到性能方面的原因分貝,特別是如果會話數據可以很容易地重新創建。