加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

asp自身的内存缓存 application

发布时间:2023-07-28 14:58:01 所属栏目:教程 来源:
导读:asp强大的application 是 php 中所没有的。昨天朋友抱怨他的人才网站读取速度慢,于是我帮他把asp中读库比较费时的部分用application做了缓存。

函数getcache,会自动建立需要的缓存。

Function getcache(fu
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)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!