社区
Java EE
帖子详情
关于Web开发中Session的问题
ml3426
2015-04-19 01:18:54
最近在做一个项目,在写的过程中,把一些东西,比如说登录时的Users类放到了Session中,然后在不同的页面中就能方便的调用。但是遭到了另一个学长的反对,他说在Session中放用户的唯一标识就行,在不同的页面中再查找出Users,说Session中一般不放重对象,加重服务器负担,而且如果在其它会话中修改了Session也会出现同步性问题,我有点疑惑,想问问大家对这个观点是什么看法,大家平时是怎么做的,谢谢了。
...全文
415
16
打赏
收藏
关于Web开发中Session的问题
最近在做一个项目,在写的过程中,把一些东西,比如说登录时的Users类放到了Session中,然后在不同的页面中就能方便的调用。但是遭到了另一个学长的反对,他说在Session中放用户的唯一标识就行,在不同的页面中再查找出Users,说Session中一般不放重对象,加重服务器负担,而且如果在其它会话中修改了Session也会出现同步性问题,我有点疑惑,想问问大家对这个观点是什么看法,大家平时是怎么做的,谢谢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Inhibitory
2015-04-29
打赏
举报
回复
1. Session放在Redis等集中缓存和本地缓存,先在本地缓存查询Session,没有的话查询Redis缓存,如果在没有才查询数据库,解决了分布式的环境Session共享的问题,而且速度还很快。 2. Session里不要存放太多东西,但是必要的存在里面还是有必要的。 频繁查询数据库不是个好主意,不用充分利用Session也不是个好主意,滥用Session也要批评。
nantaiwang
2015-04-29
打赏
举报
回复
毕竟是学长 不过你那屁大项目完全OK
荔园微风
2015-04-27
打赏
举报
回复
这个问题问的好
finemi
2015-04-26
打赏
举报
回复
你学长乱说,这个得看实际情况! 放session,占一点内存,而读数据库,开销也不小! 而这个时候就要做一个平衡了,其实web编程很多时候都要做这种平衡,速度与空间是不会同时拥有的,是用空间换时间,还是用时间换空间? 用户信息每个页面都要用到,对于这种高频率读取的不缓存下来而去读数据库那缓存系统的意义是干嘛? LZ听说过memcached吗?他的作用就是:将频繁使用的数据缓存到内存中,避免频繁读取数据库!
草臻京
2015-04-26
打赏
举报
回复
SESSION属于缓存类别,每次访问都会创建一个SESSION,SESSION内容太多肯定会影响服务器,毕竟资源是有限的。
tandy
2015-04-26
打赏
举报
回复
我觉得你学长说的是出于理论 有点太片面了吧 我比较赞同把一个 频繁调用的对象放入到Session 中 以便减少对数据库资源的调用
hymwrj1
2015-04-25
打赏
举报
回复
1,读缓存和读数据库 相比之下,数据库资源更珍贵得多。 2,你session会放很多东西?请求返回的数据放request里面,一般没有特别需要,谁也不会把数据放在session里同吧? 3,user信息你大多数据页面都需要用到,直接从session拿和每次从数据库取,哪个更快点这不用说了吧。
pengjiewen
2015-04-25
打赏
举报
回复
你说的要考虑场景的,不同场景要不用法
bobo1232
2015-04-20
打赏
举报
回复
对象放进session里 我觉得 方便一点
youzi05
2015-04-20
打赏
举报
回复
我的习惯是把用户id和用户名等几乎每个页面都用的东西放进session里, 比每次都查数据库方便多了.....
爱跳舞的铅笔头
2015-04-20
打赏
举报
回复
学长的建议是正确的。
liangtu
2015-04-19
打赏
举报
回复
相比N次数据库查询,放对象更合理。
姜小白-
2015-04-19
打赏
举报
回复
session中确实不应该存放过多的东西,加重服务器的负担
但是 自己写的代码,自己注意控制着往session中存放的东西的数量就可以了,一般简单服务的用户信息大多都放session的。
至于说session同步的问题,单节点服务器不存在session同步的问题,session同步大多是在集群环境中出现的。
hantiancheng
2015-04-19
打赏
举报
回复
一般的这些都是 放到session中去 ,至少我开发是这么弄的
何事忧愁
2015-04-19
打赏
举报
回复
Session的同步性问题非常好解决,只要在修改session的地方把原来的user去掉,然后加入新的user即可
何事忧愁
2015-04-19
打赏
举报
回复
我把user对象放session中,我不赞同你学长的观点,如果session中只放user的唯一标识(唯一标识一般就是指Id了),那么在其他地方需要用到user对象的时候,又得通过唯一标识去查询数据库,查询数据库需要连接数据库服务器,这个会非常影响运行效率,把整个user对象放session中确实会加重服务器的负担,但毕竟数据就在服务器上,没多大影响,比起去连接数据库查询数据效率要高多了
Web
开发
中
的
session
Web
开发
中
的
session
在
web
开发
中
,
session
是个非常重要的概念。在许多动态网站的
开发
者看来,
session
就是一个变量,而且其表现像个黑洞,他只需要将东西在合适的时机放进这个洞里,等需要的时候再把东西取出来。这是
开发
者对
session
最直观的感受,但是黑洞里的景象或者说
session
内部到底是怎么工作的呢?当笔者向身边的一些同事或朋友问及相关的更进一步的细节时,很多人往往要
WEB
应用
中
的
SESSION
详解
WEB
应用
中
的
SESSION
详解
session
存在服务器什么位置,
Web
开发
中
的
Session
详解及原理分析
原标题:
Web
开发
中
的
Session
详解及原理分析一. Http
Session
机制1. HTTP协议与Http
Session
的状态保持
Session
经常被翻译为会话,其本来的含义是指有始有终的一系列动作/消息。比如打电话时,从拿起电话拨号到挂断电话这
中
间的一系列过程可以称之为一个
Session
。而在网络
中
,
Session
是指从一个浏览器窗口打开再到关闭的这个期间。互联网应用层协议基本都是基于 HT...
Web
笔记-
session
及cookie
此博文笔记并不全(对于像本人这样
开发
经验不足的已经够了),只是记录了本人目前对
session
和cookie的理解,以及在
开发
时,应该注意些什么。 首先看下两个概念:
session
:对象存储特定用户会话所需的属性及配置信息。
session
是服务器如何产生的? 当访问服务器否个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做
session
,而这个内存是跟浏览器关联在...
关于java
web
开发
中
session
过期的理解
最近做一个项目要求实现一个功能。
就是如果用户A已经登录到系统
中
。如果其他人再使用用户A的帐号在其他机器或者浏览器上登录,都会登录失败。只能等待用户A在系统
中
注销或者
Session
超时才可以登录。
这个项目是用java
web
相关技术实现的。 其实实现的原理比较简单就是将用户登录后将
session
保存到一段共享的内存
中
(程序
中
是用静态的HashTable保存所有的
Session
)。
其
中
当用户的
session
过期失效后。我发现map
中
的s
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章