捌度空间 缓存类

捌度空间 缓存类代码

复制代码 代码如下:

<%

class Cache

    private obj            'cache内容

    private expireTime        '过期时间

    private expireTimeName    '过期时间application名

    private cacheName        'cache内容application名

    private path            'url

private sub class_initialize()

        path=request.servervariables("url")

        path=left(path,instrRev(path,"/"))

    end sub

private sub class_terminate()

    end sub

public property get blEmpty

        '是否为空

        if isempty(obj) then

            blEmpty=true

        else

            blEmpty=false

        end if

    end property

public property get valid

        '是否可用(过期)

        if isempty(obj) or not isDate(expireTime) then

            valid=false

        elseif CDate(expireTime)<now then

                valid=false

        else

            valid=true

        end if

    end property

public property let name(str)

        '设置cache名

        cacheName=str & path

        obj=application(cacheName)

        expireTimeName=str & "expires" & path

        expireTime=application(expireTimeName)

    end property

public property let expires(tm)

        '重设置过期时间

        expireTime=tm

        application.lock

        application(expireTimeName)=expireTime

        application.unlock

    end property

public sub add(var,expire)

        '赋值

        if isempty(var) or not isDate(expire) then

            exit sub

        end if

        obj=var

        expireTime=expire

        application.lock

        application(cacheName)=obj

        application(expireTimeName)=expireTime

        application.unlock

    end sub

public property get value

        '取值

        if isempty(obj) or not isDate(expireTime) then

            value=null

        elseif CDate(expireTime)<now then

            value=null

        else

            value=obj

        end if

    end property

public sub makeEmpty()

        '释放application

        application.lock

        application(cacheName)=empty

        application(expireTimeName)=empty

        application.unlock

        obj=empty

        expireTime=empty

    end sub

public function equal(var2)

        '比较

        if typename(obj)<>typename(var2) then

            equal=false

        elseif typename(obj)="Object" then

            if obj is var2 then

                equal=true

            else

                equal=false

            end if

        elseif typename(obj)="Variant()" then

            if join(obj,"^")=join(var2,"^") then

                equal=true

            else

                equal=false

            end if

        else

            if obj=var2 then

                equal=true

            else

                equal=false

            end if

        end if

    end function

end class

%>

使用方法:

复制代码 代码如下:

    set myCache=new cache

    myCache.name="flash1"

    If myCache.valid then

        StartGet = myCache.value

    Else

        StartGet = GetHttpPage(HttpUrl)    

        myCache.add StartGet,dateadd("h",3,Now)

    End if 

    List=GetBody(StartGet,"</form>","<!-- ********网页中部代码结束******** -->",False,False)

时间: 2024-07-30 14:36:54

捌度空间 缓存类的相关文章

捌度空间 缓存类_ASP CLASS类

捌度空间 缓存类代码 复制代码 代码如下: <% class Cache     private obj            'cache内容     private expireTime        '过期时间     private expireTimeName    '过期时间application名     private cacheName        'cache内容application名     private path            'url     privat

ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供,不过该内存类我看了一下,并没有支持文件的缓存依赖. 因此,在此前提下,预计.NET Core明年出来2.0版本时,可能也没支持文件的缓存依赖,因此,有必要提前准备实现. 在写此文前,我扫了一下园子里关于自定义缓存类的相关文章. 发现很多自定义的缓存类文章都简单停留在对字典的增删改查. 因此,决定补充

读写锁和缓存类实现

提高性能 读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥,这是由JVM控制的,我们只需要上好相应的锁即可.如果代码只读数据,可以很多人同时读,但不能同时写,那就上读锁:如果代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁.总之,读的时候上读锁,写的时候上写锁. import java.util.Random; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.

xml缓存类

特点: 读取机制:自动判断有无缓存了的xml文件,当xml文件存在数据,侧从xml获取数据,反之从数据库读取:缓存机制:根据xml文件生存时间和用户自定义的缓存时间判断缓存有无过期,过期侧生存新的xml文件: 有效减少数据库查询读取次数,缓存数据量小读取更快 修改了一下,加了两个方法,使用更方便 以下是引用片段:代码: <% Rem xml缓存类 '-------------------------------------------------------------------- '转载的时

一个比较蛋疼的php缓存类

php缓存类 $oFC = new FileCache(); $sKey = 'ab_123'; $data = $oFC -> get($sKey); if (is_null($data)) $oFC -> set($sKey, array('name' => 'ttt', 'datetime' => date('Y-m-d H:i:s')), 100000); print_r($data);   <?php final class FileCache { /** * *

asp.net的DataTable 缓存类。

asp.net|缓存 using System;using System.Web;using System.Data; namespace sc{ /// <summary> //**************************************/ // 说明:DateTable的缓存类. // 属性:name:缓存的名称.只写 // 属性:Values:缓存的值 读写 // 方法:CheckCache():检查是否有缓存.返回bool // 方法:MakeCacheEmpty():

缓存类的实现(C#)

缓存 小弟最近在编写一个O/RM组件(当然功能还是相当少的).大家都应该清楚把实体对象更新到数据库必须经过一系列的转换:特别是SQL语句的生成是比较费资源的,因为中间处里的东西实大是太多了.在设计的过程中我就想如果一个对象插入数据库后把相应的Command保存在缓存中:下一次同一个类型的对象做这个操作时检测一下缓存如果有就直接拿来用这样效率应该会高些.抱着这种想法就开始设计了(不过心里还是上上下下的,毕竟第一次尝试).因为缓存中的对象处理比较复杂点,在多线程中存在共享的问题,如果两个线程同时调用

ASP缓存类【先锋缓存类】Ver2004

<% '------------------------------------------------------------------------------------- '转发时请保留此声明信息,这段声明不并会影响你的速度! '************************** [先锋缓存类]Ver2004 ******************************** '作者:孙立宇.apollosun.ezhonghua '官方网站:http://www.lkstar.com

ThinkPHP文件缓存类代码分享

  ThinkPHP文件缓存类代码分享         取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63