首页 > 编程 > ASP > 正文

asp自带的内存缓存 application

2024-05-04 11:06:50
字体:
来源:转载
供稿:网友

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)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表