SSH框架下,从数据库查询到的数据存放在session中好,还是request中好?如果放在session中如何管理session中属性呢?

解决方案 »

  1.   

    request好..用完session要关闭..否则缓存缓的很厉害..出一些不正常的数据..
      

  2.   

    原则:能用 request,不用 session;request 解决不了的,再用 session
      

  3.   

    UP session要慎用 能用request解决的就不要用session 尤其是查询数据库 次数多了很容易出问题
      

  4.   

    就是这样,看你的数据要保存多久呢!如果能用request,就不用session吧
      

  5.   

    first  request ,if doesn't work, then session
      

  6.   

    如果是直接请求的肯定放在request比较好,但是是跨页面的数据,你也可以放在session中,如果别的地方没有用的,使用session接收数据后,直接remove掉就行了。
      

  7.   

    这个要看具体情况了
    1.只需要使用一次的数据(比如就需要在JSP里展现一下),那么就放在request里
    2.需要、或是可能需要多次使用的数据(这里多次使用是指跨越多个请求的情况,而不是在同一个请求里要使用多次),这时候情况就比较复杂了
      a.如果你的应用服务器内存比较多,应用服务器负载不大,那么就放在session里,这样相当于把数据缓存在内存中,可以减少DB访问量,减轻DB负载
      b.如果情况和a相反,应用服务器负载大,内存不是很充裕,那么还是放在request里吧,如果下个请求还要用到这个数据的话,那就从DB中重新读取吧,缺点是访问DB次数多了
      c.如果数据不大,是个小对象,那么不论应用服务器负载如何,都可以放在session里;相反,如果是大对象,甚至是由大对象组成的集合(List、数组之类)的,那么不论服务器负载如何,不建议放session里
      d.对数据实时性的要求,如果用户对这个数据的实时性要求很高,那么不建议放在session里,最好每次用到都到DB里(或是其他地方)去读取;反之,则可以放在session里。总体而言,原则就是
                         request         session
    应用服务器负载         大                小
    DB服务器负载            小              大
    数据量                  大                小
    数据实时性              高                低