当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp自带的内存缓存 application

ASP
asp下查询xml的实现代码
一个asp版XMLDOM操作类
ASP XML编程objXML.async = False
asp按关键字查询XML的代码
asp下用fso和ado.stream写xml文件的方法
SQL"不能为新插入的行确定标识"错误的解决方法
asp 类型转换函数大全
ASP存储过程开发应用详解
asp 静态页面的另一种思路
EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)
ASP访问数量统计代码
asp中文数字验证码
Ajax+asp应用实例 注册模块,表单提交
将ASP记录集输出成n列的表格形式显示的方法
ASP 游标参数详解(ASP记录集)
关于ASP循环表格的问题之解答[比较详细]
ASP Recordset 分页显示数据的方法(修正版)
ASP ajax分页教程一
Asp Oracle存储过程返回结果集的代码
XMLHttp ASP远程获取网页内容代码

ASP 中的 asp自带的内存缓存 application


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 322 ::
收藏到网摘: n/a

asp强大的application 是 php 中所没有的。昨天朋友抱怨他的人才网站读取速度慢,于是我帮他把asp中读库比较费时的部分用application做了缓存。 函数getcache,会自动建立需要的缓存。
复制代码 代码如下:

Function getcache(funsname,isreset,isarr,timeinfo)
‘funsname — 需要缓存的内容,这里要输入一个function名
‘isreset –是否更新[值:0(根据时间或判断缓存为空时自动更新)、1(主动更新)]
‘ isarr —- 所缓存的内容是否为一个数据[0为字符串,1为数组]
‘ timeinfo —- 缓存更新时间,单位为秒,当值为0时,则只在缓存为空时,才更新
dim domain = “cnzhaopin.com.cn”
Dim temp_getconfig
Dim re_getcache : re_getcache = False
Dim temp_isarray_type : temp_isarray_type = False
Dim Appfunsname : Appfunsname = Replace(Replace(Replace(funsname,”(”,”"),”)”,”"),”,”,”.”)
If isarr = 1 Then temp_isarray_type = True
If isreset = 1 Then re_getcache = True
If isreset = 2 Then
execute(”temp_getconfig=”&funsname)
getcache = temp_getconfig
Exit Function
End If
If Application(domain&”_”&Appfunsname&”_time”) = “” And timeinfo<>0 Then re_getcache = True
If Not re_getcache Then
If temp_isarray_type Then
If Not IsArray(Application(domain&”_”&Appfunsname)) Then re_getcache = True
Else
If Application(domain&”_”&Appfunsname) = “” Then re_getcache = True
End If
End If
If Not re_getcache And timeinfo<>0 Then
If Int(DateDiff(”s”,Application(domain&”_”&Appfunsname&”_time”),now()))>timeinfo Then re_getcache = True
End If
If re_getcache Then
execute(”temp_getconfig=”&funsname)
Application.Lock
Application(domain&”_”&Appfunsname) = temp_getconfig
Application(domain&”_”&Appfunsname&”_time”) = Now()
Application.UnLock
Else
temp_getconfig=Application(domain&”_”&Appfunsname)
End If
getcache = temp_getconfig
End Function

使用时:
复制代码 代码如下:

Function output3
output3=”"
set newrs=conn.execute(”select TOP 60 companyname,comid,vipdata,ishot from company where isok=1 and vipqx>60 and vipqx<300 and vip=1 and comid in (select comid from jobs where zt<>1) order by newid()”)
do while not newrs.eof
output3=output3 & “……….”
newrs.movenext
loop
newrs.close
set newrs=nothing
End function
response.write getcache(”output3″,0,0,3600)