1)什么是应该连接到会话的对象的可接受大小范围?如果我附加一个可以是5k的对象,并且在任何给定的时间我都有10k个有效会话,那么这是50MB的内存,这对我来说似乎是可以接受的。这是解决问题的有效方法,还是存在其他重大问题?Servlet会话属性大小和生命周期
2)这可能是一个愚蠢的问题,但如果我附上一个对象的会话与2周的一生,我可以访问属性,就好像是在内存中的会话的整个过程?
3)是否有什么理由不始终坚持会话信息到数据库?
1)什么是应该连接到会话的对象的可接受大小范围?如果我附加一个可以是5k的对象,并且在任何给定的时间我都有10k个有效会话,那么这是50MB的内存,这对我来说似乎是可以接受的。这是解决问题的有效方法,还是存在其他重大问题?Servlet会话属性大小和生命周期
2)这可能是一个愚蠢的问题,但如果我附上一个对象的会话与2周的一生,我可以访问属性,就好像是在内存中的会话的整个过程?
3)是否有什么理由不始终坚持会话信息到数据库?
可接受的大小取决于您的用例和并发会话数。如果您的会话持续2周,那么可以设想您可以进行大量并发会话,但是如果10k是您的最大预期值,那么对于5k会话对象应该没有问题(如您的计算所示)。
只要你有会话对象的引用(或能够得到这样的参考),那么数据将在会议上坚持。请记住,您的会话对象必须是可序列化的。
您可能不希望所有的会话数据保存到性能方面的原因分贝,特别是如果会话数据可以很容易地重新创建。