1)应该附加到会话的对象的可接受大小范围是多少?如果我附加一个可以是5k的对象,并且在任何给定时间我有10k个有效会话,那就是50MB的内存,这对我来说是可以接受的。这是解决问题的有效方法,还是存在其他重大问题?
2)这可能是一个愚蠢的问题,但是如果我将一个对象附加到具有2周生命周期的会话中,我是否可以在会话的整个持续时间内访问该属性,就好像它在内存中一样?
3)是否有任何理由不始终将会话信息保存到数据库?
答案 0 :(得分:3)
可接受的大小取决于您的使用案例和并发会话数。如果你的会话持续了两周,那么可以想象你可以有很多并发会话,但是如果10k是你的最终防范,那么5k会话对象应该没有问题(正如你的计算所示)。
只要您有对会话对象的引用(或能够获得此类引用),那么数据将在会话中保留。请记住,您的会话对象必须是可序列化的。
出于性能原因,您可能不希望将所有会话数据持久保存到数据库中,尤其是在可以轻松重新创建会话数据的情况下。
答案 1 :(得分:3)