锁定老帖子 主题:session错误使用的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (3)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-06
提供一种思路,大家看看.
session设置为永不超时.第一次建立session时,打一个初始创建session的时间戳,session中开辟两个存储池,一个为永久,一个为临时.每次用户访问到后台,利用拦截器原理先拿到session,然后进行复制,复制过程中,做三件事:一,判断与前次登录时间间隔,做session超时判定;二.根据时间间隔来将临时存储池清空;三.根据永久存储池大小,做日志警告处理,便于开发人员检测出session的内容使用情况; 复制的新session生效,将原session杀死. 底层如果这样封装好,session就可以随便用了. |
|
返回顶楼 | |
发表时间:2011-11-07
feng2356 写道 提供一种思路,大家看看.
session设置为永不超时.第一次建立session时,打一个初始创建session的时间戳,session中开辟两个存储池,一个为永久,一个为临时.每次用户访问到后台,利用拦截器原理先拿到session,然后进行复制,复制过程中,做三件事:一,判断与前次登录时间间隔,做session超时判定;二.根据时间间隔来将临时存储池清空;三.根据永久存储池大小,做日志警告处理,便于开发人员检测出session的内容使用情况; 复制的新session生效,将原session杀死. 底层如果这样封装好,session就可以随便用了. 关于你提到的这种解决办法,我想问几点 1.session永不超时,那么与前次登录时间间隔,做session超时判定,是准备根据用户请求来间隔时间来清空session吗?用户只登录一次,然后关掉你的网站,这个也需要做点什么吧 2.永久这个面对百万量的用户级别,你准备在永久上存些什么?你提到的永久存储与临时存储池,到底在使用上有什么区别呢? ps:需要使用到session的地方毕竟不多,比如互联网项目,大部分都是查看数据,如果每次都这样,消耗挺大,而且完全有避免的方法,只不过用着不是那么顺手罢了 |
|
返回顶楼 | |
发表时间:2011-11-16
对于整个项目 我可以弱弱的提出一个想法吗
业务和框架的属性数据 分成2类 放到Map里 , 在没有特殊应用的时候, 把Map放到ThreadLocal里。 但这样需要程序员区别全局变量 |
|
返回顶楼 | |