[英]Servlet session attribute size and lifetime
1)應該附加到會話的對象的可接受大小范圍是多少? 如果我附加一個可以是5k的對象,並且在任何給定時間我有10k個有效會話,那就是50MB的內存,這對我來說是可以接受的。 這是解決問題的有效方法,還是存在其他重大問題?
2)這可能是一個愚蠢的問題,但是如果我將一個對象附加到具有2周生命周期的會話中,我是否可以在會話的整個持續時間內訪問該屬性,就好像它在內存中一樣?
3)有沒有理由不總是將會話信息保存到數據庫?
可接受的大小取決於您的用例和並發會話數。 如果您的會話持續2周,那么可以想象您可能會有很多並發會話,但如果10k是您的最終防范,那么5k會話對象應該沒有問題(如您的計算所示)。
只要您有對會話對象的引用(或者能夠獲得此類引用),那么數據將在會話中持久存在。 請記住,您的會話對象必須是可序列化的。
出於性能原因,您可能不希望將所有會話數據持久保存到數據庫,尤其是在可以輕松重新創建會話數據的情況下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.