[未解决]用户相关信息有必要用session保存吗

提问时间:2015-07-07 09:23:13提问者:fighter阅读(228 )回答数(6)

    网页是无状态的,一般网站都会使用cookie来保存用户的普通信息。当需要保存该用户的重要信息,可能会使用服务器端的session来存储,当然sessionid也是保存在cookie中。听其他程序猿聊天时说,用session保存信息不是很好,第一session可能会丢失,第二session占用web服务器的内存资源,第三如果采用单独的session状态服务器,对于分布式架构可能会造成麻烦。所以他们建议放弃使用session,直接使用cookie,可以加入一些加密技术,来保证重要信息的安全性。

    想问一下,对于用户相关信息,到底有没有必要用session保存其中重要信息?


#1楼     时间:2015-07-09 03:01:23      来源:北京市网友

这个很难一概而论,还是要根据需求进行调整。

通常情况下,session可以存储一些与用户密切相关且数据量不大的信息,比如用户的基本信息。

接下来回答一下你的3个问题,前两个问题假设你是单机环境,session存储在应用的内存中。

第一个,session可能丢失的问题压根不存在,因为原则上,害怕丢失的东西本身就不该存在session里。应该持久化到数据库,session最多起到缓存的作用。

第二个,通常情况下,session不建议存储“大”数据,session归根结底占用的是jvm的内存,太大的数据存到内存里本身就是有问题的架构设计。

第三个,分布式集群架构下,单独的session服务器是很好的解决方案,怎么会造成麻烦呢。

至于存储在客户端,这些数据就很可能需要在客户端与服务端之间频繁传输,且操作起来比较麻烦,个人不太推荐。

#2楼     时间:2016-03-08 15:39:23      来源:北京市网友
#3楼     时间:2016-03-08 15:39:25      来源:北京市网友
#4楼     时间:2016-03-08 15:39:28      来源:北京市网友
#5楼     时间:2016-03-10 12:00:12      来源:北京市网友
#6楼     时间:2016-04-19 09:42:56      来源:武汉市网友
我要回答

搜索答案