一个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