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

 

相关文章:

  • 2022-12-23
  • 2021-09-20
  • 2021-05-28
  • 2022-12-23
  • 2021-12-04
  • 2021-12-29
  • 2021-07-22
  • 2021-07-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-07-25
  • 2022-03-05
相关资源
相似解决方案