写在cookie中当然是最理想的,也是有条件的,浏览器支持、数据不会太敏感等等,这样服务器的压力是转嫁在客户端上的,个人认为是最好的方式。
其次如果数据量大,数据库设计很理想的话,那从数据库获取比增加session加大服务器压力的方式要好得多,也可以对数据的安全性进行保障。
最后就是session了,其实个人一直不是很提倡过分使用session,在客户端电脑越来越强大的今天,能让客户端分担压力何乐而不为呢?毕竟一堆session,如果在线人数很高那服务器内存消耗是很厉害的。但session实在太方便了,这么方便的东西放在面前,不用又未免太可惜!总之,看个人实际情况吧,结合实际开发采用不同方法才是最适合自己的,不是吗?

解决方案 »

  1.   

    我的想法是和楼上的差不多,但是以前没做个高在线的程序,在网上看到的都是尽量少用session的文章我也做过测试 把一个用户表的对象(40个字段) 放了 10W个进去,得出 一个session耗用 0.1K 内存网上说 耗用 1K内存,压力测试 不知道怎么模拟多用户登录,只是单用户 多刷新测试 基本上占用的是服务器的cpu就是一些用户排名等信息 放cookie 很合适,现在没几个人把cookie 禁用吧?
      

  2.   

    如果表不是很大,里面的信息量不是很多的话,还是可以放session的吧。
    虽然session耗内存,但一个很小的数据表还是折腾不了多少的,或者你可以判断客户端是否禁用cooikes,不禁用就放客户端,禁用就放session,多好,如果一个小表你搞到每个页面都去跑一次数据库,这就得不偿失了
      

  3.   

    试试 看看压力多大~  呵呵,楼上的有QQ?加一下 有机会交流下
    QQ213378  北京
      

  4.   

    问题1     那种方式好呢?迷惑中 
    -------------------------------------------------------------
    不知道那种方式好,因为都是放在session中的,能不用session最好就不要用,因为session占内存,做为程序员有时
    喜欢犯一些比较低级的错误,比如打开了session却忘记关了,到时候去找就是一个麻烦,而且这样相当占资源,搞不
    好服务器会被拖死掉。
    问题   2   要是我在session   里面   只存一个用户id,每次访问不同的页面都从数据库动态获得,这样做和再session里存一堆东西   哪个好? 
    ------------------------------------------------------
    这样也不是很好,这样加重了数据库的负担了,每次都回向服务器数据库请求,也不太理想。问题3   session里面我就存个id   登录的时候   把其他的东西写在   cookie里面 
    --------------------------------------------------------------------------
    这个方法比较理想,一般很多网站都采用了这种方式,但有个问题就是客户端会把cookie禁用掉(一般很少人会禁用的)还有一种方式供你参考,可以把数据放到缓存中,csdn上也在某些地方有用到缓存的。这种方式也比较常用的。
      

  5.   

    1 内存是最快的,如果内存充足,建议用内存
    2 如果内存放不下(哇,你的在线用户超高啊), 可以保存到数据库。而且那时候你应该做集群了!
    3 cookie 不推荐,每次请求cookie都要往访传输,服务器端还得解析cookie。
      

  6.   

    你可以在页面设计的时候把那一部分单分出来,比如用iframe,只在登陆后读取传值一次,进行其他操作并不对这个部分作出刷新,就会节省很多资源。
      

  7.   

    我现在 在登录 以及登录后 要显示的内容  做成 iframe 或者用js调用然后我把其他的数据静态化,静态我网上找了一个 很简单的 用io输出据说有静态的框架 也没用明白现在是用 ssh +jstl   freemaker 网上例子一大堆 也没弄明白
      

  8.   

    To 老紫竹缓存怎么实现呢?有什么框架和Demo吗 想学学  谢谢啦
      

  9.   

    我的意思,就是你把需要的信息,做成单独的POJO,记得千万不要和其它类有关联,
    然后保存到session里面。
      

  10.   

    按每个用户的POJO对象占用1k那么有一万用户同时在线。。也就10M内存吧我觉得用户权限、状态、密码等存在内存就可以了。。至于其它祥细的等用到再去调用数据库。。反正写入内存的对象要简洁