asp 缓存实现教程代码

<%
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,"/top/cache/"))
 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
%>

时间: 2024-08-22 08:52:28

asp 缓存实现教程代码的相关文章

asp 缓存类程序代码

class Cache  private obj   'cache内容  private expireTime  '过期时间  private expireTimeName '过期时间application名  private cacheName  'cache内容application名  private path   'uri  private sub class_initialize()   path=request.servervariables("url")   path=l

ASP实例教程:asp无限级显示分类代码

为了方便使用分类,我定义了一个分类表category,里面字段是id(自动编号)  cat_name(分类名) parent_id(父ID,对应本表ID) cat_order(顺序) is_show(是否显示)  u_id(这个用来区别是新闻分类,还是产品分类,还是其他分类),为了方便,我将这些分类全部放在这张表中.在给客户添加分类的时候,结果有太多的分类,本来前台显示的时候,将它们全部显示出来了,好长.客户提出修改意见,要求将它们改成点击大分类,才可以将其子分类显示出来,并且每个分类下面还有一

ASP.NET网站管理系统退出 清除浏览器缓存,Session的代码_实用技巧

1.在系统登陆成功时记录登陆的用户名.密码等信息(登陆功能的部分代码) 复制代码 代码如下: Session["id"] = user.id.ToString(); Session["name"] = user.name.ToString(); Session["pwd"] = user.password.ToString(); Session["time"] = user.LoginTime.ToString(); Sess

使用asp缓存技术,提高asp承载能力

其实当你的web站点采用asp技术建立的初期,可能会感觉到的是asp动态网页技术带来的便利性,以及随意修改性.自如的http控制.但随着访问量的增加,你一定会发现自己的站点访问速度会越来越慢,IIS重新启动得越来越频繁. 一.什么是ASP缓存/为什么要缓存 其实当你的web站点采用asp技术建立的初期,可能会感觉到的是asp动态网页技术带来的便利性,以及随意修改性.自如的http控制.但随着访问量的增加,你一定会发现自己的站点访问速度会越来越慢,IIS重新启动得越来越频繁.那么,你一定想怎么优化

一起学习ASP缓存类

当你的web站点采用asp技术建立的初 期,可能感觉到的是asp动态网页技术带来的便利性,以及随意修改性.自如的http控制.但是,随着访问量的增加,你一定会发现自己的站点访问速度越来 越慢,IIS重新启动得越来越频繁.接下来,你一定想优化asp,诸如更换性能更优异的数据库.建立索引.编写存储过程等等.这些措施有些不需要增加成本 压力,有些则成本压力很大(譬如丛access到SQL),而且效果还不一定. 一.何谓ASP缓存/为什么要缓存 当你的web站点采用asp技术建立的初 期,可能感觉到的是

阿里西西原创-asp封装dll教程

阿里西西|教程|原创|asp封装 阿里西西原创视频教程下载地址:http://www.alixixi.com/Down/eBook/vb/2007/2007122192320.html 由本人第一次尝试制作的录像视频教程,由于电脑速度较慢,播放时间较慢,请谅解. 本录像讲解最基础的VB封装ASP代码生成DLL的制作教程,适合初级学习者参考.也是本人学习VB制作ASP组件的第一个尝试,录像基本成功. 用vb编写asp组件(dll)示例 下面,将演示如何使用vb制作asp的dll组件... 1. 启

Csharp+Asp.net系列教程(一)

asp.net|教程 本教程参考C#和ASP.NET程序设计教程撰写,有什么不足之处请大家指出,或在老猫的理想BLOG留言.首先讲解一下c#,这里只是粗略的讲解,详细内容请购买相关书籍,或参阅相关文档.c#已经取消了c++中的指针,并且在c++中大量被使用的操作符(:: ->)已经不在出现,c#中指支持一个".".c#具有面向对象编程语言的所有特性,如封装.继承.多态等.而且比java更面向对象,每种类型都可以看作一个对象.但c#指允许单继承,即一个类不会有多个基类.另外,c#没

Csharp+Asp.net系列教程(五)

asp.net|教程 本教程参考C#和ASP.NET程序设计教程撰写,有什么不足之处请大家指出,或在老猫的理想BLOG留言. 长假就要过去了.钱包也空空如也了,又要投入让人生畏的紧张工作中了... 感慨虽然很多,可是教程还是要继续的写,先发几句牢骚.^_^,不过教程可能以后要写的慢些了,因为心有余而力不足丫!不说废话进入正题: 有网友说教程过于繁琐,呵呵,下面正好要分析一下流程控制语句,有C程序设计基础的就略过这段,考虑有新手还是简要的介绍一下,详细还请参阅谭浩强教授的<C语言程序设计>一书吧

Csharp+Asp.net系列教程(六)

asp.net|教程 本教程参考C#和ASP.NET程序设计教程撰写,有什么不足之处请大家指出,或在老猫的理想BLOG留言. 好些天不写了.今天事情较少,有几个网友总是问,就又写了点东西.可能疏漏比较多,希望大家帮忙指正 预处理指令:与c++不同,c#没有独立的预处理器.在c#中,预处理指令并不是编译器开始编译代码之前的一个单独的处理步骤,而是作为词法分析的一部分来执行的.预处理指令都以#号开头并位于行首. #define指令用于定义符合,他的作用域是该定义所在的整个文件,符号定义必须放在所有其