首页 > 语言 > 关键词  > asp最新资讯  > 正文

ASP中Cache技术的应用

2007-05-08 13:21 · 稿源:cndw

ASP从发布至今已经7年了,使用ASP技术已经相当成熟,自从微软推出了ASP.NET之后就逐渐停止了对ASP版本的更新。但是由于有很多人仍然习惯使用ASP来开发网站,所以,再次我将以一个简单的例子来说明在ASP中如何使用Cache

简单的说使用Cache基本原理是,把经常需要且获得代价昂贵的数据在内存中持续保存一定时间,以供这些数据可以被直接地全局地访问。例如,有一些数据需要从数据库多个表中查询获得,且几乎每个页面都要调用这些数据。

这种情况下的最佳实现就是将这部分数据Cache起来,在ASP中的简单实现就是将这些数据的最终表达形式(例如HTML流)封装在string中然后存入ASP内置对象Application中(本文主要讨论的是动态Cache,简单的ASP 应用就省略)。这样做的好处是,在整个网站中可以全局调用这段HTML,而且Application是存在内存中,所以不用再去查询数据库,从而加快了响应时间并节省了服务器负荷。当然这是以消耗内存为代价的,是一个典型的以空间换时间的实例。

使用这种方法虽然有很多好处,但是再遇到频繁变化的数据源(数据库)的时候,这种方法就可能不再适用,因为ASP Application对象有一个缺点,就是不能自动随数据源的变化而变化,或者控制刷新间隔。所以就需要开发人员编程来实现动态Cache。当然在程序设计的时候可以在所有进行改变数据源(数据库)操作时,就更新一次Appliction。从而使数据源(数据库)始终保持一致。这样做在编程上要考虑的问题会比较多,容易遗漏细节。所以除了特定情况我不推荐使用这种方法。

我认为在ASP中最好的办法是用编程实现定时刷新Cache,也就是说给Application中储存的设一个过期时间。当然,在ASP中Application对象没有这样一个ExpireTime属性。这需要用程序实现。

  

以下为引用的内容:
Code
  ASP:default.asp

  ASP:getcache.asp

<%
  Const CACHE_DEFAULT_INTERVAL = 30 '每隔30秒刷新一次cache
  Dim HTMLStream
  Dim IsExpires
  IsExpires = CacheExpires
  Function CacheExpires
  Dim strLastUpdate
  Dim result strLastUpdate = Application("LastUpdate")
  If (strLastUpdate = "") Or (CACHE_DEFAULT_INTERVAL < DateDiff("s", strLastUpdate, Now)) Then
  result = true
  SetLastUpdateTime
  Else
  result = false
  End If
  CacheExpires = result
  End Function

Sub SetLastUpdateTime
  Application.Lock
  Application("LastUpdate") = CStr(now())
  Application.UnLock
  End Sub
  Sub GetHTMLStream
  If IsExpires Then
  UpdateHTMLStream
  End If
  HTMLStream=Application("CACHE_HTMLStream")
  End Sub

  Sub UpdateHTMLStream
  dim d
  d = FetchHTMLStream
  Application.Lock
  Application("CACHE_HTMLStream") = d
  Application.UnLock
  End Sub

  Function FetchHTMLStream
  Dim rs ,strSQL, strHTML
  Set rs = CreateObject("ADODB.Recordset")
  strSQL = "select categoryID , categoryname from categories"
  rs.Open strSQL, strConn,adOpenForwardOnly,adLockReadOnly
  strHTML = strHTML

  • 相关推荐
  • 大家在看
  • AMD可能将Infinity Cache品牌用于Chiplet 3D垂直缓存

    AMD在其Computex 2021演讲中展示了其即将推出的"Zen 3"CCD(CPU复合芯片),在32MBL3缓存的基础上配备了64MB的"3D垂直缓存"内存。AMD声称,这种芯片上的堆叠装置提供了15%的游戏性能提升,以及对企业应用的重大改进,这些应用可以从每个芯片96MB的最后一级缓存中受益。在今天晚些时候在该公司传闻的EPYC"Milan-X"企业处理器发布会上首次亮相之前,我们了解到AMD可能将3D垂直缓存称为"3D Infinity Cache"。当Greymon55,一个可靠的A

  • AMD下一代RDNA GPU将引入3D Infinity Cache设计

    援引 Greymon55 爆料,在 EPYC 和 Ryzen 之后,AMD 将以 3D Infinity Cache 的形式在 RDNA 中引入堆叠式 3D Cache 设计。通过 RDNA 2,AMD 推出了第一代 Infinity Cache 架构,这是一个快速和高带宽的片上缓存,GPU 可以快速访问。现有的缓存设计可以扩展到 128MB 的容量和高达 2TB/s 的带宽。随着下一代 RDNA 3 GPU 的推出,有传言说 GPU 将把 Infinity Cache 的数量增加一倍,Navi 33 预计将提供 256 MB,Navi 31 预计将提供高达

  • Shuttle推出DL20N系列无风扇迷你PC新品 采用Jasper Lake CPU平台

    Shuttle 刚刚推出了两款相当紧凑的 1.3 升迷你 PC,作为该公司旗下“XPC slim”系列无风扇准系统的新成员,DL20N 和 DL20N6 非常适合居家或办公使用。前者使用了英特尔赛扬 N4505 双核处理器,而后者升级到了四核心的奔腾 Silver N6005 CPU 。得益于充足的灵活性与可靠性,它们也是信息亭、工控、数字标牌等应用的理想选择。作为一款主打静音和低维护特性的迷你电脑,DL20N / DL20N6 配备了许多实用的端口。除了可连接三台显示器,

  • OWC推出Accelsior 8M2 PCIe 4.0 SSD扩展卡:兼容PC与Mac Pro

    知名苹果配件制造商 OWC,刚刚推出了一款 PCIe 4.0 x16 固态硬盘扩展卡,它就是支持 64TB 容量、速度可达 26000 MB/s 的 Accelsior 8M2 。作为该公司旗下最快的 PCIe 4.0 SSD AIC,它还兼容 PC 与 Mac Pro 平台。如果在 PCIe 3.0 x16 插槽上使用,则读速会降低到 12000 MB/s 。(来自:OWC)OWC Accelsior 8M2 扩展卡可装备 8 条 PCIe 3.0 或 PCIe 4.0 固态硬盘,并且提供了多种容量选项。基于 8 条 240GB M.2 NVMe SSD 的“2TB”?

  • 老牌机枪池Pickle Finance登录OEC

    2020 年DeFi异军突起,质押挖矿热潮席卷整个加密货币市场。 2021 年,DeFi搭载大火的NFT、元宇宙等概念接连开创出多重玩法,市值稳步增长,以太坊网络的DeFi生态更是经历爆炸性增长。据DeFi Plus数据:DeFi总市值已到达1688. 64 亿美元,DeFi中锁定资产总价值达1214. 6 亿美元。在这场DeFi浪潮中,OEC成为了不可小觑的公链后起之秀。近日,以太坊公链上老牌机枪池项目Pickle Finance项目已经完成OEC上的部署。据了解,Pickle Financ

  • Tecno Pop 5C首次推出5英寸LCD和Unisoc芯片组

    Tecno最新的入门级手机在这里,欢迎使用Pop 5C。规格列表相当适中,5英寸IPS LCD分辨率为854 x 480像素,Unisoc的Unisoc SC7731E芯片组只有1GB RAM和16GB存储空间有一个2400毫安时的微型电池,通过微型USB充电。过时的Android 10 Go版本涵盖了软件方面。有用于家庭、多任务处理和返回的电容式按钮一个5MP的摄像头在后面,而前面有一个2MP的自拍镜头。Tecno Pop 5C有湖蓝和深蓝色两种颜色。价格和可用性的细节仍然没有透露,但我们?

  • Circuit X平台深耕APP推广,为出海APP赋能

    如果你曾有过在日本生活的经历,那么你一定听说过Fukurou Labo公司旗下的 Circuit X平台,这个来自日本本土的广告流量变现平台,在经过几年的发展后,如今已经在日本以及韩国等周边国家和地区拥有着超高的影响力。根据2021 年日韩地区广告影响力排名现实,Fukurou Labo的排名仅次于世人皆知的Face book、Apple以及Google。能在广告投放效果领域和这些全球巨头同台竞技,足以证明Circuit X平台自身实力的强大。 以国内某款美少女APP

  • Voyager Space Holdings将收购Space Micro公司的多数股份

    据TechCrunch报道,Voyager Space Holdings正在继续其收购太空公司的趋势,着手收购Space Micro的多数股权。Space Micro是一家为卫星提供轨道通信和数字子系统的制造商。这是Voyager自2019年10月成立以来的第六次收购,因为该公司寻求成为一家提供从机器人到发射支持到通信技术的全方位太空公司。该公司之前的收购包括X.O. Markets,商业空间服务企业Nanoracks的母公司;Pioneer Astronautics,一家研究支持人类在外层空间生活的公

  • 泄露的Apple Silicon路线图暗示新Mac Pro和MacBook Air的出现

    一份未经证实的报告涉及苹果M1 Apple Silicon处理器的后继者,声称还有两款处理器的细节,分别针对新的Mac Pro、MacBook Air等。据报道,下一代Apple Silicon处理器将以代号Ibiza、Lobos和Palma的形式出现。据称这些产品与Rhodes是分开的,Rhodes是针对未来MacBook Pro机型的第二代处理器系列的代号。声称直接了解苹果计划的不明来源说,第二代处理器将包含两种配置参数,而M1、M1 Pro和M1 Max都只有一个。其中一个消息来源说,下?

  • Poco X4和Poco X4 NFC即将推出,预计Redmi Note 11 Pro将重新命名

    Poco X3NFC首次亮相已经有一段时间了——事实上,从2020年9月发布到现在已经有一年多了。虽然随着Poco M4Pro的推出,M-line已经进入了4个领域,但中档X系列目前仍由X3NFC和X3Pro组成。根据最新的泄漏消息,这种情况很快就会改变。事实证明,Poco正在为无NFC的印度市场开发一款X4,也在为全球市场开发一款X4NFC。Poco X3NFC在一些IMEI数据库中发现这些的同一消息来源声称,它们基本上将是不久前在中国推出的Redmi Note11Pro的更名版

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天