10
回答
jsp中session存登陆对象好,还是存个别属性
华为云4核8G,高性能云服务器,免费试用   

如题,

我在登陆后,在session中存user对象好,还是存username...等常用的几个属性好,

我百度找了很多答案,有一个说存对象和属性都一样,对内存都不会造成太大影响,因为存对象只是存了个引用,无论对象中有多少个属性,都不会造成内存开销,不知道这个理论对吗?

还有在页面获取时,其实我只经常获取对象里面的某三个属性,存了对象后,如果每次获取都是用对象.属性,会不会消耗更多内存呢?

大家讨论下,如果是门户站,用户很多,如果都存user对象,服务器维护session会不会造成性能直线下降呢?

 

举报
allen_limi
发帖于7年前 10回/1K+阅
共有10个答案 最后回答: 7年前
存ID,然后做一个接口,比如叫SystemUserProvider, 实现类里面可以维护一个Cache,这样子玩就行了. 规模上去了,重写这个SystemUserProvider的实现类,然其从缓存中间件(如Memcache,不过我设计的一个系统,是从Oracle coherence集群)取对象实例就可以
你过于纠结这个问题了,完全没有必要。放开手脚,怎么方便怎么来。如果担心有问题,那你可以压力测一下。大型网站的session维护,都会采取一定的策略。不是简单的存个session就完事了。

引用来自“tcltang”的答案

你过于纠结这个问题了,完全没有必要。放开手脚,怎么方便怎么来。如果担心有问题,那你可以压力测一下。大型网站的session维护,都会采取一定的策略。不是简单的存个session就完事了。
tcltang说的也挺对的,我现在暂时不纠结这个问题了,如果后期出现问题了,可以单独去解决这类事情
--- 共有 1 条评论 ---
CheckStyle先天架构设计很重要哦~~ 7年前 回复

引用来自“李密”的答案

引用来自“tcltang”的答案

你过于纠结这个问题了,完全没有必要。放开手脚,怎么方便怎么来。如果担心有问题,那你可以压力测一下。大型网站的session维护,都会采取一定的策略。不是简单的存个session就完事了。
tcltang说的也挺对的,我现在暂时不纠结这个问题了,如果后期出现问题了,可以单独去解决这类事情
终于开窍了。嘿嘿,想那么多干嘛,简单的网站的话,直接丢对象进去,复杂的话,也不是存个session就能完事的事情。

引用来自“sxgkwei”的答案

引用来自“李密”的答案

引用来自“tcltang”的答案

你过于纠结这个问题了,完全没有必要。放开手脚,怎么方便怎么来。如果担心有问题,那你可以压力测一下。大型网站的session维护,都会采取一定的策略。不是简单的存个session就完事了。
tcltang说的也挺对的,我现在暂时不纠结这个问题了,如果后期出现问题了,可以单独去解决这类事情
终于开窍了。嘿嘿,想那么多干嘛,简单的网站的话,直接丢对象进去,复杂的话,也不是存个session就能完事的事情。
我是初学者,所以只是担心性能么
如果对象结构复杂,存Session里,对GC不友好.再者,如果规模上去了,做HA,做LB,Session复制情况下,网络传输数据量会暴增,造成风暴
顶部