session内存占用的问题

playboyhdy 2012-03-18 01:49:58
各位大神,小弟最近在学这个JSP+SERVLET。发现呢,这个session占用内存的问题。比方说,我有一个对象User,包括了属性ID,username,password,address,sex,age...等。我是将id放到session中,以后页面用到User的时候查询数据库好呢?还是直接将得到的User放到seesion,以后seesion.getAttribute()好呢?这样就不用查询数据库了
...全文
382 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
dryZeng 2012-03-19
  • 打赏
  • 举报
回复
几百几千没什么问题的。一些属性能占多少资源?
star890 2012-03-19
  • 打赏
  • 举报
回复
放在session中的信息必须是在多个页面经常用到的,应该是出于这样的出发点来考虑的,刚才你问的 是放一个对象的 其实放对象比放某个属性要好 这样就利用了封装的特点 不然的话又何必专门把User拿来弄一个类呢 你要明白session是服务器端的 而request是客户端的 但是request的范围只存在于两个之间传递才行 在多个页面无法取到 除非连续传递
playboyhdy 2012-03-19
  • 打赏
  • 举报
回复
怎么样单独销毁某一个session么?
[Quote=引用 7 楼 canghaiguzhou 的回复:]

如果出于性能考虑,尽量避免使用session,用request吧
[/Quote]
zx8813443 2012-03-18
  • 打赏
  • 举报
回复
如果出于性能考虑,尽量避免使用session,用request吧
playboyhdy 2012-03-18
  • 打赏
  • 举报
回复
因为我的User中的属性有很多,如果有200个用户去访问的话,我担心会崩溃
[Quote=引用 5 楼 achilles12345 的回复:]

其实Session就类似一个Map类型,主键就是你的sessionId,键值就是你存放的数据(你可以将这个也理解成一个Map,嵌套在上一个Map里的)。Session的失效期可以在web.xml中设置。楼主说的两种方式,都是可以的。根据不同的环境,各有优缺点。如果将数据都放在Session中,则在一定程度上消耗了内存空间,可是效率较高,也方便使用。如果采用使用userId去从数据库中去取的话,可……
[/Quote]
渭水飞熊 2012-03-18
  • 打赏
  • 举报
回复
其实Session就类似一个Map类型,主键就是你的sessionId,键值就是你存放的数据(你可以将这个也理解成一个Map,嵌套在上一个Map里的)。Session的失效期可以在web.xml中设置。楼主说的两种方式,都是可以的。根据不同的环境,各有优缺点。如果将数据都放在Session中,则在一定程度上消耗了内存空间,可是效率较高,也方便使用。如果采用使用userId去从数据库中去取的话,可能节约了内存。但是每次从库中取也很消耗资源,而且操作也不方便。如果你的程序针对每次操作都要校验权限等的话,我建议你将User直接都放在Session里。毕竟Session过期后会自动清除相关空间。希望说的能帮上楼主。继续交流。
masterGr 2012-03-18
  • 打赏
  • 举报
回复
应该是对象
playboyhdy 2012-03-18
  • 打赏
  • 举报
回复
其实我想问,存放User的时候,session是存的什么东西?是User这个引用,还是User的所有属性
beannian 2012-03-18
  • 打赏
  • 举报
回复
既然用到了session为嘛不直接从session里面取呢,这能耗费多少资源

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧