主题:  小田还是关于session的问题……

Such a lovely place

职务:普通成员
等级:2
金币:10.0
发贴:573
注册:2001/11/4 21:15:56
#12002/11/5 13:24:04
请问session变量是保存在服务器还是本地机子上的(不知道我这样表述正确否)?当我登陆后,mm_username变量就存在了,是不是我关掉浏览器就自动删除了呢?还是继续保存在服务器上?我做了一个房地产管理系统,根据用户名进行不同的操作。我把session时间设成一天时间,请问设这么长时间有问题和有必要吗?会不会对服务器有什麽影响?(如果有几十个用户同时操作的话)



udfans

职务:普通成员
等级:2
金币:0.0
发贴:417
注册:2002/2/2 12:32:55
#22002/11/5 13:57:00
设成10太累了,我是说你的服务器肯定会很累的,



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#32002/11/5 17:04:18
准确的说,请求一个Session,就会在服务器上占用一点内存来保存变量信息,这个会话结束的时间默认是20分钟,如果20分钟内没有更新或请求,会话就会结束。

虽然,关闭了浏览器看起来好象Session已经消失了,但其实,在服务端的内存并没有被释放,还是要在20分钟后才能释放,所以,如果不是特别的需要,不要把Session的时间设的太长。

对于一个管理系统来说,设置成600也就差不多了,也许更小,自己多试几个,总有一个比较平衡的点。



Such a lovely place

职务:普通成员
等级:2
金币:10.0
发贴:573
注册:2001/11/4 21:15:56
#42002/11/5 17:37:46
原来如此,我明白了。谢谢楼上2位解答。因为我这套管理系统在单位里会有人操作一天的,当然我是指上班时间,我担心session过期失效,影响操作,起码又要重新登录。我想600应该够了,十个小时,我们一天才上班八个小时,加上迟来早走,最多也就7个小时,嘿嘿。我设了一个退出页面,用session.abandon删除变量,可担心操作人员直接点击X退出。所以按最坏打算设计……:(



Such a lovely place

职务:普通成员
等级:2
金币:10.0
发贴:573
注册:2001/11/4 21:15:56
#52002/11/5 17:45:38
还有,如果我设为10个小时,早8点开始登陆使用,中午12点关机。下午2点再次登录使用,可这时服务器上的变量仍然存在,再次登陆会不会有什麽影响?另外,如果有20个人同时登陆,是不是有20个mm_username变量?可一个变量名怎么能记录20个人呢?我真的不明白,这样的问题让你们见笑了……



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#62002/11/5 18:25:36
Session的唯一标识不是变量名,而是有个SessionID,每请求一个Session,都会产生一个ID,不同的用户都不同。

我上面说的会话保持时间,在关闭浏览器的时候Session变量已经不起作用了,只是内存还没释放而已,所以你不用担心对登陆会有什么影响。

这些问题,你可以买本书看看,因为牵涉的比较深一点:)



Such a lovely place

职务:普通成员
等级:2
金币:10.0
发贴:573
注册:2001/11/4 21:15:56
#72002/11/5 22:56:41
谢谢小田的耐心解答。看来我要买本关于asp的书,好好看看了……:)