一个ASP缓存类

一个ASP缓存类
Cache_class.asp

<%

' 用途:用于常用数据的缓存,以减少执行,加快速度,但是由于使用Application来存贮数据,有可能对服务器造成负担
' 类名 Cache_Class
' 方法 NoCache(函数名,关键字) 测试该缓存是否有效
' 属性 Value  如果缓存无效,使用该属性设置缓存,如果缓存,则使用该属性读取缓存
' 例子
' Dim Cache
' Set Cache = New Cache_Class
' if Cache.NoCache("getname(a)","username") Then Cache.Value=getname(a)
' Response.Write Cache.Value
' 注意:每次使用前都需要用NoCache方法来测试,否则无法保证的取得的值是否为当前设置的函数名
' 技巧:函数名用于识别,当有数据改变时,只需直接调用函数SetCacheKey(关键字)即可以刷新缓存,这样可保存缓存随数据的改变而重新缓存
'      默认建立Cache实例,可以在程序中直接调用而不需要事先创建
' ============================================

Class Cache_Class
 Dim Cache_Name, Cache_Key, Version, Cache_Value

 Function NoCache(FunName, Key)
   Dim NoIn
   Cache_Name = FunName
   Cache_Key = Key
   Cache_Value = Application("Cache_" & Cache_Name)
   NoIn = True
   If IsArray(Cache_Value) Then If Application("CacheKey_" & Cache_Key) = Cache_Value(0) Then NoIn = False
   NoCache = NoIn
 End Function

 Property Get Value()
   Value = Cache_Value(1)
 End Property

 Property Let Value(Val)
   ReDim Cache_Value(1)
   Cache_Value(0) = Application("CacheKey_" & Cache_Key)
   Cache_Value(1) = Val
   Application("Cache_" & Cache_Name) = Cache_Value
 End Property

End Class

Function SetCacheKey(Key)
 Application("CacheKey_" & Key) = Timer
End Function

Dim Cache
Set Cache = New Cache_Class
%>
本贴来自天极网群乐社区--http://q.yesky.com/group/review-7396429.html

原文地址:https://www.cnblogs.com/dudu837/p/1557151.html