| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1366 人关注过本帖
标题:[转载]ASP缓存技术
只看楼主 加入收藏
conn
Rank: 2
等 级:新手上路
威 望:5
帖 子:420
专家分:0
注 册:2005-11-27
收藏
得分:0 

斑竹老大,要是讲起来不是很麻烦的话,就给小虾门讲讲哈!


我是新手,但我很虚心,对我发的问题请不要取笑,谢谢
2006-01-05 08:44
conn
Rank: 2
等 级:新手上路
威 望:5
帖 子:420
专家分:0
注 册:2005-11-27
收藏
得分:0 
UP,UP,期待中。。。

我是新手,但我很虚心,对我发的问题请不要取笑,谢谢
2006-01-05 10:46
conn
Rank: 2
等 级:新手上路
威 望:5
帖 子:420
专家分:0
注 册:2005-11-27
收藏
得分:0 

ASP程序中使用断开的数据记录集
我们在使用asp内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连接打开的时间要比它需要打开的时间长得多。因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则称为断开的记录集。
下面我们就通过一个实例来说明这种技术的使用方法(NorthWind.mdb是Microsoft Access97自带的一个数据库,文件adovbs.inc可在C:\Program Files\Common Files\System\ADO下找到):
<% @LANGUAGE= VBScript %>
<!--#includefile="adovbs.inc"-->
<%
Response.Expires = 0
Dim Cnn,objRS, strOut, strQ, strC
StrC= "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\asp24") & "\NorthWind.mdb;"
’建立连接
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open StrC
’创建Recordset对象
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorLocation =adUseClient
objRS.CursorType = adOpenStatic
objRS.LockType = adLockOptimistic
strQ = "SELECT 运货商ID, 公司名称, 电话 FROM 运货商 "
objRS.Open strQ, Cnn, , , adCmdText
Set objRS.ActiveConnection = Nothing ’断开记录集
Cnn.Close ’关闭连接
Set Cnn = Nothing
Response.Write "<HTML><BODY>"
’下面使用断开的记录集
Do While (NotobjRS.EOF)
strOut = objRS("运货商ID") & ", " & objRS("公司名称") & ", " & objRS("电话")
Response.Write Server.HTMLEncode(strOut) & "<BR>"
objRS.MoveNext
Loop
Response.Write "<BR>准备新增或插入记录: "
’若需要更新数据库, 则要重新建立连接
Set Cnn = Server.CreateObject("ADODB.Connection")
Cnn.Open strC
Set objRS.ActiveConnection = Cnn
objRS.Filter = "公司名称 = ’吴丰’"
If objRS.EOF Then
objRS.AddNew
objRS("公司名称") = "吴丰"
objRS("电话") = "571-7227298"
objRS.Update
Response.Write "符合该条件的记录不存在, 则新增.<BR>"
Else
objRS("电话") = "571-7227071"
Response.Write "符合该条件的记录存在, 则 Update.<BR>"
objRS.Update
End If
Set objRS.ActiveConnection = Nothing
Cnn.close
Set Cnn = Nothing
objRS.Close
Set objRS = Nothing
Response.Write "</BODY></HTML>"
%>


我是新手,但我很虚心,对我发的问题请不要取笑,谢谢
2006-01-05 11:35
我晕
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-1-1
收藏
得分:0 
<!--#includefile="adovbs.inc"-->
得把这个文件找来吧,数据库连接定义应该都在里面,lz把这个文件找来,大虾就好解释了,期待ing

一个民族的落后首先是其精英的落后。而其精英落后最显著的标志就是他们经常指责人民的落后。
2006-01-05 12:00
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
CursorLocation是recordset对象的一个属性。

从网上找的比较容易理解的说法:[QUOTE]cursorlocation设置为clUseClient 是把数据库cursor建立在客户的机子上[/QUOTE]
2006-01-05 13:19
我晕
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-1-1
收藏
得分:0 
哦,谢谢,那意思就是利用客户机作缓存?

一个民族的落后首先是其精英的落后。而其精英落后最显著的标志就是他们经常指责人民的落后。
2006-01-05 16:43
我晕
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-1-1
收藏
得分:0 

相当于session和cookies的关系?


一个民族的落后首先是其精英的落后。而其精英落后最显著的标志就是他们经常指责人民的落后。
2006-01-05 16:44
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 
不是啊,好像是客户端直接访问数据库,不可思议吧
2006-01-05 16:47
我晕
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-1-1
收藏
得分:0 
那是一次性访问吧,不然就叫不上缓存了

一个民族的落后首先是其精英的落后。而其精英落后最显著的标志就是他们经常指责人民的落后。
2006-01-05 16:49
盖茨他爹
Rank: 6Rank: 6
等 级:贵宾
威 望:28
帖 子:5255
专家分:0
注 册:2005-5-3
收藏
得分:0 

晕,我不是说缓存,我说的CursorLocation,缓存就是把经常访问的东西保存起来。

打个比方,你有一个网站首页,上面显示最新文章,会员人气排行,友情连接等,这些东西每次访问的时候都要取读数据库,要进行很多SQL查询,每次打开这个页面都要查询当然会慢一点,也耗费资源,这时候最好就用缓存,就是把处理后的结果——网站首页显示的内容,包括人气排行友情连接等等,作为一个变量保存起来,下次访问的时候输出这个变量就可以了,不要再查询数据库了,这样速度当然会很快

2006-01-05 17:02
快速回复:[转载]ASP缓存技术
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.063735 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved