是Sessionscope对应用程序性能有任何影响吗?

时间:2013-03-01 11:49:04

标签: jsf-2 primefaces

在我的许多bean类中,我使用了会话范围。我只是想知道它是否会导致任何性能问题,如服务器开销,内存问题等。

1 个答案:

答案 0 :(得分:2)

滥用会话范围并放置只应在视图或请求中生存的bean不是一个好主意,至少有两个原因:

  1. 用户体验 - 因为用户会看到一些旧数据停留在他在该会话期间访问过的网页上,这在大多数情况下是不良行为(几乎总是在您输入一些输入时离开页面并返回到那个页面你希望重置数据,但你会看到旧数据)
  2. 内存消耗 - 因为很明显,会话范围内的bean会在会话存活期间存活,并且会占用一些内存。这可能不是真正巨大的内存消耗,但它尤其重要,特别是当会话老了(例如几个小时)。在这种情况下,会话数据将在此期间更大
  3. 我不需要说任何新内容,你应该看到更多链接:

    我只想为另一个答案添加注释。只要启用浏览器中的cookie,HTTP请求的大小就不会增加。会话仅保留在服务器上,客户端上只添加JSESSIONID cookie,保留当前会话的ID。