直接放在SESSION里,当用户太多时,对内存得占有大。
只把用户的ID放在SESSION,对数据库压力大。
只把用户的ID放在SESSION,对数据库压力大。
解决方案 »
- 关于flashpaper的代码问题,求教。。
- URLRewriter伪静态页面问题
- 满分求一个asp.net中上传图片并生成小图片,自动添加水印的代码
- VS 2005中打包安装后出现的错误
- “admin”加密成"7a57a5a743894a0e"是用什么算法加密的?
- 大家用什么编辑ASP.NET
- 一个简单的问题
- mydb.RunQueryNoResult(strSql,prams);这个代码是什么意思?
- 请教:为何Asp.net网站会自己弹出用户名密码输入框?
- 问个题外问题,OK?
- 当 AllowPaging 设置为真并且选定的数据源不实现 ICollection 时,AllowCustomPaging 必须为真,并且 ID 为 DataGrid1 的 DataGrid 必须
- ASP.NET中如何实现动态增加或减少TABLE列和行?
不过我觉得应该具体情况具体分析
session是一次性占用系统资源,但是调用方便
读数据库是把系统资源平均到每次读操作中,这样服务器空闲时效率会高,但是数据库相对会大,但是也大不了多少。不过代码量要大
你可以权衡后做决定
如果数据不需要很安全,建议使用临时cookie,公用数据使用cache,这样比较好一点。
但是如果用户数很多,那么Session里面放太多东西会占用更多的服务器资源所以,这要看你的用户数有多少在线用户多的话,就尽可能的少往Session里面放东西,这需要采取一些测试来达到平衡,你可以使用VS.Net带的Application Center Test来测试服务器的负载另外,ASP.Net提供了Session OutProc的存储方法,可以把Session存放在其他的服务器或者数据库,这样就可以再不用更改原来代码的情况下来把Session的存储负载转移到其他的服务器,具体内容请参考MSDN: ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconsessionstate.htm
ms-help://MS.VSCC/MS.MSDNVS.2052/cpgenref/html/gngrfsessionstatesection.htm
AspNetPager 免费分页控件4.0版发布,欢迎下载使用:http://www.webdiyer.com
不是说放数据库更高效,只是这样会减轻Web Server的负担,一般来说,稍大型的应用Web Server和Database Server不可能用同一台服务器,读数据库的话,Web Server只会消耗网络传输的开销,而基本不用占用太多服务器的资源,读数据库的开销都被数据库Server承担了,而Session则会一直占用Web Server的资源
谢谢!