欢迎光临
我们一直在努力

Relaxlife.Net缓存的应用,调用速度要比每次都要从数据库中读要快N陪(原版)精典-.NET教程,Windows开发

建站超值云服务器,限时71元/月

 relaxlife.net缓存的应用,调用速度要比每次都要从数据库中读要快n陪(原版)精典

缓存的应用,调用速度要比每次都要从数据库中读要快n陪(原版)

<%
rem =================================================================
rem = 类:cachecls
rem = 说明:缓存的应用
rem = revision:1.01 beta
rem = 作者:熊氏英雄(cexo255)
rem = date:2005/05/6 18:38:10
rem = qq:30133499
rem = mysite:http://www.relaxlife.net 
rem = 下载:http://www.relaxlife.net/2005/relaxlife/blogview.asp?logid=178
rem = qq群:4341998
rem = 适用:对一些常用到,而又不常改变的数据放入缓存中,调用速度要比每次都要从数据库中读要快n陪
rem =================================================================

cachename = “rl”
class cachecls
    private localcachename, cache_data
    
    public property let name(byval vnewvalue)
        localcachename = lcase(vnewvalue)
        cache_data=application(cachename & “_” & localcachename)
    end property
    
    public property let value(byval vnewvalue)
        dim n,i,newvaluearr
        if localcachename<>”” then 
            n = countinstr(vnewvalue,”|”)
            newvaluearr = split(vnewvalue,”|”,-1,1)
            redim cache_data(n)
            for i = 0 to n
                cache_data(i) = newvaluearr(i)
            next 
            application.lock
            application(cachename & “_” & localcachename) = cache_data
            application.unlock
        else
            response.write “设置缓存出错,或缓存名不能为空,请重新更新缓存”
            response.end()
        end if
    end property
    
    public property get value()
        if localcachename<>”” then     
            if isarray(cache_data) then
                value=cache_data
            end if
        else
            response.write “设置缓存出错,或缓存名不能为空,请重新更新缓存”
            response.end()
        end if
    end property
    
    ’取指定缓存中的值
    public function getcachevalue(mycahename)
        getcachevalue = application(cachename & “_” & mycahename)
    end function
    
    ’取所有缓存名
    public function getallcachename()
        dim cacheobj
        for each cacheobj in application.contents
            getallcachename = getallcachename & cacheobj & “,”
        next
        getallcachename = left(getallcachename,len(getallcachename)-1)
        getallcachename = replace(getallcachename,cachename & “_”,””)
    end function
    
    ’释放缓存    
    public sub delcahe(mycahename)
        application.lock
        application.contents.remove(cachename & “_” & mycahename)
        application.unlock
    end sub
    
    ’释放所有缓存
    public sub removeallcache()
        dim cachelist,i
        cachelist=split(getallcachename(),”,”)
        if ubound(cachelist)>0 then
            for i=0 to ubound(cachelist)
                delcahe cachelist(i)
            next
        end if
    end sub
    
    ’统计字符char在str中出现的次数
    private function countinstr(str,char)
        countinstr = 0
        dim i, charlen
        charlen = len(char)
        for i = 1 to len(str)
            if mid(str, i, charlen) = char then countinstr = countinstr + 1
        next
    end function

end class

dim cachepro 
set cachepro = new cachecls
’设置缓存“cexo255”和它的值:”cexo2551|cexo2552|cexo2553|cexo2554|cexo2555″
cachepro.name = “cexo255”
cachepro.value = “cexo2551|cexo2552|cexo2553|cexo2554|cexo2555”
’取当前缓存中的值
’cachearr = cachepro.value

cachepro.name = “wxf”
cachepro.value = “wxf”
cachepro.name = “dw”
cachepro.value = “dw”

’释放缓存cexo255
’cachepro.delcahe(“cexo255”)

’释放所有缓存
’cachepro.removeallcache

’取cexo255缓存中的值
cachearr = cachepro.getcachevalue(“cexo255”)
if isarray(cachearr) then
    for i = 0 to ubound(cachearr)
        response.write cachearr(i) & “<br>”
    next
else
    response.write “缓存被释放!!!”
end if

set cachepro = nothing
%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Relaxlife.Net缓存的应用,调用速度要比每次都要从数据库中读要快N陪(原版)精典-.NET教程,Windows开发
分享到: 更多 (0)