如果有几千个session,怎么提高效率

 我来答
匿名用户
2011-09-08
展开全部
目前的 ASP 版本总共提供了六个内建对象,分别是Request对象、Response对象、Server对象、Session

对象、Application对象及ObjectContext对象,其各自功能简述如下:
Request对象:负责从客户机接收信息;
Response 对象:负责响应用户请求;
Application对象:负责保存所有ASP程序用户的共用信息;
Session对象:负责保存单个用户与应用程序交互的各种信息;
Server对象:负责控制ASP的运行环境。
ObjectContext对象:供ASP程序配合MTS进行分散式的事务处理。
Request对象
Request对象的语法如下:
Request [ .集合 | 属性 | 方法 ](变量)
Request对象的集合包括Form集合、QueryString集合、Cookies集合、ServerVariables集合等,这些都是

Request对象中常用的数据集合,现分述如下:
Form数据集合
Form数据集合是Request对象中最常使用的数据集合。使用Form数据集合可以取得客户端用POST方式传送

的表单上的各对象内容值
语法如下:
表单对象内容=Request.Form(“表单对象名称”)

表单对象内容=Request.Form(“索引值”)
QueryString数据集合
使用QueryString数据集合可以取得客户端用GET方式传送的各参数内容值。客户端常通过在超链接后接“

?”的方式传输信息给服务器端,服务器端再用QueryString数据集合接收。语法如下:
参数内容=Request.QueryString(“参数名称”)

参数内容=Request.QueryString(索引值)

Cookies集合
先利用Response对象的Cookies集合将数据写至客户机中,以后再利用Request对象的Cookies集合从客户

机读取相应的Cookies值。其语法如下:
Cookie值= Request.Cookies(“Cookie名称”)
ServerVariables集合
Request对象的ServerVariables集合可用来取得一些客户端的信息,如客户机IP地址、名称等,也可取得

服务器端的环境变量,如服务器地址、服务器端口号等等。其语法如下:
返回值=Request.ServerVariables(“参数名称”)

2、Response对象
Response对象用于动态响应客户端请求,并将响应信息返回到客户端浏览器中。
Response对象的语法如下:
Response [ .集合 | 属性 | 方法 ]
Response对象的方法包括AppendToLog、BinaryWrite、Clear、End、Flush、Redirect、Write等。
Write方法
Write方法是Response对象最常用的方法,该方法可以向浏览器动态输出信息。
语法如下:
Response.Write 任何类型数据
Redirect方法
Redirect方法可以用来将客户端的浏览器重定向到一个新的网页。
语法如下:
Response.Redirect URL

Flush方法
Flush方法可以立即发送缓冲区中的数据。语法如下:
Response.Flush
注意,事先应将Response对象的Buffer属性设为True。

End方法
End方法使Web服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。语法如下:

Response.End
<%@language=”VBScript”%>
<%
Response.Write “The first line. <br>”
Response.End
Response.Write “The second line.”
%>

Clear方法
Clear方法可以清除缓冲区中的所有HTML输出。
其语法如下:
Response.Clear

Response对象的属性包括Buffer、CacheControl、Charset、ContentType、Expires、ExpiresAbsolute、

IsClientConnected、PICS、Status等
Buffer属性
Buffer属性用于指示是否缓冲页输出。如果是缓冲页输出,则只有等当前页的所有服务器脚本处理完毕或

是调用了Flush或End方法后,才将响应发送给客户端。语法如下:
Response.Buffer=Ture或False
默认情况下,Buffer属性值为False。当设为True时,即表示缓冲页输出。

ContentType属性
ContentType属性用来指定响应的HTTP内容类型。默认为text/html。
语法如下:
Response.ContentType=内容类型

Expires属性
Expires属性指定了在浏览器上缓冲存储的页离过期还有多少时间。如果用户在某页过期之前又返回此页

,则显示缓冲区中的页面。
语法如下:
Response.Expires=分钟数
Cookies数据集合
语法如下:
Response.Cookies(“Cookie名称”) [(key)|.Attribute]=Cookie值
参数Attribute指定了Cookie自身的相关信息,简述如下:
Domain:若被指定,则cookie将被发送到对该域的请求中去
Expires:指定cookie过期日期
HasKeys:指定cookie是否包含关键字
Path:若被指定,则cookie将只发送到对该路径的请求中
Secure:指定cookie是否安全
3.Application对象
Application对象用于存储对所有用户都共享的信息,并可以在Web应用程序运行期间持久地保持数据。
Application对象的语法如下:
Application [ .集合 | 方法 ]
Application对象的集合有两个:Contents集合及StaticObjects集合,
其中Contents集合表示没有使用<OBJECT>元素定义的存储于Application对象中的所有变量(及它们的值

)的一个集合;而StaticObjects集合表示使用<OBJECT>元素定义的存储于Application对象中的所有变量

(及它们的值)的一个集合。
Contents.Remove(“变量名”):从Application.Content集合中删除一个Application变量
Contents.RemoveAll():从Application.Content集合中删除所有变量
Lock():锁定Application对象,使得只有当前的ASP页面对内容能够进行访问。
Unlock():解除对在Application对象上的ASP网页的锁定
OnStart事件和OnEnd事件:在它启动和结束时触发
两个事件的代码必须放在global.asa中,其语法如下:
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Application_OnStart
事件的处理代码
End Sub

Sub Application_OnEnd
事件的处理代码
End Sub
</SCRIPT>
4.Session 对象
Session对象,可以使不同的用户存储自己的信息,当用户在应用程序的Web页之间跳转时,存储在

Session对象中的变量将不会丢失。
Session对象的语法如下:
Session [ .集合 | 方法 | 属性]
Session对象提供了两个集合:Contents集合及StaticObjects集合,
其中Contents集合表示存储于这个特定Session对象中的所有变量和其值的一个集合,并且这些变量和值

没有使用<OBJECT>元素进行定义;而StaticObjects集合表示通过使用<OBJECT>元素定义的、存储于这个

Session对象中的所有变量的一个集合。
Contents.Remove(“变量名”):从Session.Content集合中删除一个Session变量
Contents.RemoveAll():从Session.Content集合中删除所有变量
Abandon():删除所有存储在Session对象中的对象并释放这些对象的资源
Session对象的属性包括TimeOut属性、SessionID属性、CodePage属性、LCID属性等。
TimeOut属性:定义以分钟为单位的超时周期。
在超时周期内没有进行刷新或请求一个网页,该会话结束。
SessionID属性:记录着每个Session的代号,这个代号由服务器产生,它是一个不重复的长整数数字。
CodePage属性:定义用于在浏览器中显示页内容的代码页(Code Page)。
LCID属性:定义发送给浏览器的页面地区标识(LCID)。LCID是唯一地标识地区的一个国际标准缩写。
Session对象还提供了在它启动和结束时触发的两个事件:OnStart事件和OnEnd事件。
这两个事件的代码必须放在global.asa中,其语法如下:
<SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
Sub Session_OnStart
事件的处理代码
End Sub

Sub Session_OnEnd
事件的处理代码
End Sub
</SCRIPT>

5.Server对象
Server对象提供对服务器上访问的方法和属性。
语法如下:
Server[.属性 | 方法]
Server对象只有一个属性:ScriptTimeout,表示脚本程序能够运行的最大时间
Server对象的方法有CreateObject、HTMLEncode、MapPath、URLEncode等,
CreateObject方法
用于创建一个 ActiveX 组件实例。
其语法如下:
Set 对象实例名称=Server.CreateObject(“ActiveX组件”)
HTMLEncode方法
HTMLEncode 方法允许对特定的字符串进行 HTML 编码,语法如下:
Server. HTMLEncode(string)
如:<% Response.Write Server.HTMLEncode("换行标记为<br>,不同于分段。")%>
MapPath方法
MapPath 方法将返回指定虚拟路径在服务器上的物理路径,
语法如下 :
物理路径=Server.MapPath(“虚拟路径”)
URLEncode方法
URLEncode 方法可以根据 URL 规则对字符串进行正确编码,
语法如下:
Server.URLEncode(string)

希望能帮到你

参考资料: 原文转载自“xin3721视频教程网”

壹寰(深圳)科技文化有限公司
2021-03-27 广告
不同公司提供的方案也不一样。以上内容如果还觉得不够全面,也可以沟通下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
百度网友37aada8d7
2015-11-29 · TA获得超过1964个赞
知道大有可为答主
回答量:1535
采纳率:40%
帮助的人:1593万
展开全部
把session放到 redis 或 memcache 等此类内存缓存中或着把session存储在SSD硬盘上。
session对应的文件有一个特点就是小,一般在几KB左右,

如果session以文件方式存储,如果并发数量级有几千个,
此时系统硬盘的随机IO早已成了系统中的最大瓶颈了,因为会话文件
是存储在多个小文件中,映射到存储空间不是一段连续的地址范围
所以硬盘的随机读取能力显得非常重要,而觉机械硬盘的随机IO一般在100/iops上下,
(IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数)
SSD固态硬盘可以达几百至上千,所以在这么高并发读写的情况下如果无条件用SSD固态盘
可以把session放到 redis 或 memcache 等内存缓存中,系统对内存的操作又是非常快的,
只要你的内存足够大,再多session并发速度一样不会慢。

redis可以参考 http://baike.baidu.com/view/4595959.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xhxcsvip
2011-09-08
知道答主
回答量:13
采纳率:0%
帮助的人:7.8万
展开全部
多建点文件夹,多归类,就跟做档案的一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式