Web项目开发中SESSION(会话)的使用
2014-04-02 23:13
267 查看
Session会话对象在WEB应用系统中非常重要,Session资源也非常宝贵,Session会占用应用服务器内存,门户网站的并发用户在不断增长,Session对象也不断增长。所以为了保证网站性能,开发人员在开发应用程序时,应该遵循以下几点:
? 尽量保证Session只存储应用程序状态数据,而不要存储各种大数据对象,例如清单查询结果集等。如果这些使用SESSION存储,网站可能立刻会宕掉。因为同时多人查询清单,且一份清单可能有1M多,内存将被耗尽。且在正式环境SESSION是共享的,且需要序列化,这些操作都会耗费系统资源。
? 对于不用的session会话对象,一定要在程序中及时释放,而不要认为SESSION有默认的超时时间,让系统自动释放,只要session不再使用,一律在程序中主动销毁session会话对象。
? 尽量少用session,对于必须使用session的功能,可以使用;但对于根本没必要存储的数据,一定不要使用session,我们发现近来有很多没有必要记录到session的操作,创建了session却不使用。虽然不出现问题,也不会立刻对性能产生影响,但要杜绝这种不良的编码习惯。
? 对于分页控制,若数据量较大,也不要使用SESSION来存储;宁可多查询一次数据库处理,或者使用一些程序技巧来处理。
? 尽量保证Session只存储应用程序状态数据,而不要存储各种大数据对象,例如清单查询结果集等。如果这些使用SESSION存储,网站可能立刻会宕掉。因为同时多人查询清单,且一份清单可能有1M多,内存将被耗尽。且在正式环境SESSION是共享的,且需要序列化,这些操作都会耗费系统资源。
? 对于不用的session会话对象,一定要在程序中及时释放,而不要认为SESSION有默认的超时时间,让系统自动释放,只要session不再使用,一律在程序中主动销毁session会话对象。
? 尽量少用session,对于必须使用session的功能,可以使用;但对于根本没必要存储的数据,一定不要使用session,我们发现近来有很多没有必要记录到session的操作,创建了session却不使用。虽然不出现问题,也不会立刻对性能产生影响,但要杜绝这种不良的编码习惯。
? 对于分页控制,若数据量较大,也不要使用SESSION来存储;宁可多查询一次数据库处理,或者使用一些程序技巧来处理。
相关文章推荐
- JAVAWEB开发之JSP、EL、及会话技术(Cookie和Session)的使用详解
- 使用spring和jdk1.7开发web项目时出现的注解定义pointcut的问题
- java后台开发例子--使用Maven建立springmvc的web项目
- 使用IDEA社区版开发Web项目
- 在Myeclipse中开发web项目时,servlet的创建和使用中应该注意的问题。
- 初学之使用intelliJ IDEA开发web项目
- 使用Spring Boot开发Web项目
- 使用Spring Boot开发Web项目
- 转--只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionStateMod 或自定义会话状态模块
- 在eclipse中使用jetty插件替代m2e开发调试maven web项目
- 使用SpringMVC开发RestFul风格接口的java-web项目,tomcat部署并客户端访问
- 使用Spring Boot开发Web项目
- 使用SpringSide 3.1.4.3开发Web项目的全过程(中)
- MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合 一、搭建开发环境 1.1、使用Maven创建Web项目 执行如下命令: mvn archetype:create
- 使用SpringSide 3.1.4.3开发Web项目的全过程(一)
- 自己开发能在asp.net项目正常使用的定时器WebTimer,让定时器听话起来
- 使用Spring Boot开发Web项目
- Intelij开发工具使用-maven创建app项目强转web-app项目
- JavaWeb开发中的会话技术[Cookie/Session]
- 使用Spring Boot开发Web项目