详细的关于ASP缓存类的教程 4

Public Property Let Value(ByVal vNewValue) '读取和写入缓存数据
If LocalCacheName<>"" Then
CacheData=Application(CacheName&"_"&LocalCacheName)
If IsArray(CacheData) Then
CacheData(0)=vNewValue
CacheData(1)=Now()
Else
ReDim CacheData(2)
CacheData(0)=vNewValue
CacheData(1)=Now()
End If
SetCache CacheName&"_"&LocalCacheName,CacheData
Else
Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName."
End If
End Property

Public Property Get Value()
If LocalCacheName<>"" Then
CacheData=Application(CacheName&"_"&LocalCacheName)
If IsArray(CacheData) Then
Value=CacheData(0)
Else
Err.Raise vbObjectError + 1, "DvbbsCacheServer", " The CacheData Is Empty."
End If
Else
Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName."
End If
End Property

Public Function ObjIsEmpty() '判断当前缓存是否过期
ObjIsEmpty=True
CacheData=Application(CacheName&"_"&LocalCacheName)
If Not IsArray(CacheData) Then Exit Function
If Not IsDate(CacheData(1)) Then Exit Function
If DateDiff("s",CDate(CacheData(1)),Now()) < 60*Reloadtime Then ObjIsEmpty=False
End Function

Private Sub makeEmpty(SetName) '释放内存
Application.Lock
Application(SetName) = Empty
Application.unLock
End Sub

Public Sub DelCahe(MyCaheName) '删除缓存
makeEmpty(CacheName&"_"&MyCaheName)
End Sub
End Class

'Set WydCache=New Cls_Cache
'WydCache.Reloadtime=0.5 '定义过期时间 (以分钟为单会)
'WydCache.CacheName="pages" '定义缓存名
'IF WydCache.ObjIsEmpty() Then ''判断是否可用(包括过期,与是否为空值)
'Response.write WydCache.Value
'Else
'..................
'BoardJumpList=xxx
'WydCache.Value=BoardJumpList '写入内容
'Response.write BoardJumpList
'End if
'
'mycache.DelCahe("缓存名") 删除缓存
%>



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 7803