什么会在网络会话超时被认为太长?

时间:2014-09-30 06:16:42

标签: session grails

我正在处理的应用程序的默认设置是30分钟。我想增加到一个半小时,2个小时。这样做有什么缺点?

提前感谢您的回答。

1 个答案:

答案 0 :(得分:2)

最大的问题是记忆,但不一定是重要记忆。如果你有很多会话并且每个会话中包含大量数据,那么你会使用更多的内存,因为如果没有明确的注销或其他操作在不再需要时结束会话,那么你将使用更多的内存,需要90-120分钟来释放那些没有被使用的记忆。

但是如果你在会话中存储大量数据这通常是个坏主意,那么所有这些只是一个问题,因为即使30分钟也需要等待回收未使用的会话数据。通常,存储在会话中的数据会导致数据过时问题,例如:存储域类实例意味着它们与原始Hibernate会话分离,必须重新连接。但是,这只是使用实例的id从数据库重新加载实例,因此存储id就足够了。通常,您会发现缓存比HTTP会话更有效。