ASP提高数据显示效率-缓存探幽_应用技巧

所谓缓存其实就是在内存中开辟一个用来保存数据的空间,使用缓存你就不用频繁的访问你保存在硬盘上的数据了,因为这些数据我们希望每个用户都能看到效果一 样,考虑使用的是application对象,因为它是所有访问者的共用的对象,存储的信息和定义的事件能够为所有者访问者使用,这里要使用asp内置对 象APPLICATION了,关于application,有2个方法[lock和unlock],2个集合[content和 staticobjects],2个事件[开始的application_onstart和application_end],application变 量不会因为用户的离开而消失,一旦建立,一直等到网站关闭和程序卸载为止,正因为如此,使用的时候要特别小心!,否则会占用内存,我在这里不用多说,有兴 趣的查阅相关资料吧,大体是这样.我们是把数据写入一个自定义的application里面,在制定的时间读取刷新的,大体思路就是这样.

  实例演示.先建立一个简单的数据库,写个function读取一下,写入一个dim变量temp中:

以下是引用片段:
  
复制代码 代码如下:

Function DisplayRecords()  
  '这个函数原来给一个变量temp付上记录的值  
  Dim sql, conn, rs  
  '符合条件的sql语句  
  sql = "SELECT id, [szd_f], [szd_t] FROM admin"  
  '打开数据库连接  
  Set conn = Server.CreateObject("ADODB.Connection")  
  conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("db.mdb")  
  Set rs = Server.CreateObject("ADODB.Recordset")  
  rs.Open sql, conn, 1, 3  
  '当符合sq语句l的数据没有显示完毕时  
  If Not rs.EOF Then  
  '给temp变量赋值  
  Dim temp  
  temp = "<table width=""90%"" align=""center"""  
  temp = temp & " border=""1"" bordercolor=""silver"""  
  temp = temp & " cellspacing=""2"" cellpadding=""0"">"  
  temp = temp & "<tr bgcolor=""#CCDDEE""><td width=""5%"""  
  temp = temp & ">ID</td><td>操作</td>"  
  temp = temp & "<td>数值</td></tr>"  
  While Not rs.EOF  
  temp = temp & "<tr><td bgcolor=""#CCDDEE"">"  
  temp = temp & rs("ID") & "</td><td>" & rs("szd_f")  
  temp = temp & "</td><td>" & rs("szd_t")  
  temp = temp & "</td></tr>"  
  rs.MoveNext  
  Wend  
  temp = temp & "</table>"  
  'temp赋值完毕,把它再返回给函数  
  DisplayRecords = temp  
  Else  
  DisplayRecords = "Data Not Available."  
  End If  
  '释放内存  
  rs.Close  
  conn.Close  
  Set rs = Nothing  
  Set conn = Nothing  
  End Function  

  ok,上面的函数改造完毕,调用的时候就是DisplayRecords. 
  下面是application大显身手了: 

复制代码 代码如下:

  '该函数是写入缓存  
  Function DisplayCachedRecords(Secs)  
  Dim retVal, datVal, temp1  
  'Secs是每次要刷新数据的时间, retVal是数据,datVal是剩余时间  
  retVal = Application("cache_demo") '取得appliction的值  
  datVal = Application("cache_demo_date") '取得appliction的值  
  '判断datVal 的值,也就是要计算时间过去了没  
  If datVal = "" Then  
  '如果是空,datVal值为当前时间按秒加上secs定义的时间  
  datVal = DateAdd("s",Secs,Now)  
  End If  
  'temp1是判断当前时间和datVal的秒差  
  temp1 = DateDiff("s", Now, datVal)  
  '如果retVal已经是上面函数的返回值且时间大于0  
  If temp1 > 0 And retVal <> "" Then  
  '本函数返回记录数  
  DisplayCachedRecords = retVal  
  Response.Write "<b><font color=""green"">利用缓存读取数据"  
  Response.Write " ... (" & temp1 & " 秒剩余)</font></b>"  
  Response.Write "<br><br>"  
  Else  
  'retVal 是空的话,就赋予DisplayRecords的值给变量temp2  
  Dim temp2  
  temp2 = DisplayRecords()  
  '保存到Application.------------------>重点  
  Application.Lock  
  Application("cache_demo") = temp2  
  Application("cache_demo_date") = DateAdd("s",Secs,Now)  
  Application.UnLock  
  DisplayCachedRecords = temp2  
  ' 这里随便写上了记录的缓存的过去时间,相对总秒数倒差 :  
  Response.Write "<b><font color=""red"">刷新缓存显示 ..."  
  Response.Write "</font></b><br><br>"  
  End If  
  End Function  
  %>  

  说明完毕.

  以下为完整无注释代码

  调用方法:<%=DisplayCachedRecords(20)%>

  写在后面的话:如果你感觉你的服务器内存不够大的话,不要大量使用缓存.

时间: 2024-09-11 21:13:51

ASP提高数据显示效率-缓存探幽_应用技巧的相关文章

ASP提高数据显示效率-缓存探幽

所谓缓存其实就是在内存中开辟一个用来保存数据的空间,使用缓存你就不用频繁的访问你保存在硬盘上的数据了,因为这些数据我们希望每个用户都能看到效果一 样,考虑使用的是application对象,因为它是所有访问者的共用的对象,存储的信息和定义的事件能够为所有者访问者使用,这里要使用asp内置对 象APPLICATION了,关于application,有2个方法[lock和unlock],2个集合[content和 staticobjects],2个事件[开始的application_onstart和

提高数据显示效率--缓存探幽

缓存|数据|显示 写在前面的话:此篇还是asp相关的,相信玩ASP的都有这个感觉,当数据有5万多条时-------justlike音乐网,要调用最新的10条在页面显示,糟糕的是,当n多用户打开页面访问的时候,每个用户每次都要读取数据库一次,这无疑降低了效率,很明显,如果能把数据能保存在内存上,然后读取,无疑加快了速度.所谓缓存其实就是在内存中开辟一个用来保存数据的空间,使用缓存你就不用频繁的访问你保存在硬盘上的数据了,因为这些数据我们希望每个用户都能看到效果一样,考虑使用的是applicatio

asp.net页面SqlCacheDependency缓存实例_实用技巧

缓存技术是asp.net程序设计中非常实用的技术,也是大型web程序设计中比较常见的技术.本文就以实例形式对此加以说明.具体如下: asp.net页面的SqlCacheDependency Sql缓存: Cahce/SqlCachePage.aspx页面代码如下: <%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile=&qu

ASP.NET性能优化之局部缓存分析_实用技巧

在网站的开发过程中,经常碰到的一类需求场景是: 1:页面含热点新闻,热点新闻部分需要10分钟更新一次,而整个页面的其它部分1天内都不会变动: 2:首页的某个BANNER需要显式:欢迎***: 上面场景中的1,如果整个页面的缓存失效都定为10分钟,则势必增加性能开销,所以最好的策略是页面的不同部分采用不同的缓存失效时长.对于场景2也一样,我们不应该为了迁就某个BANNER不能应用缓存,就让整个页面都不支持缓存. 可以说,如果我们在开发网站过程中的缓存策略是不支持页面局部缓存的,整个架构就是不合理的

ASP.NET2.0新特性概述_实用技巧

ASP.NET技术从1.0版本升级到1.1变化不是很大.然而,从ASP.NET 1.x升级到2.0,却不是件轻而易举的事情.ASP.NET 2.0技术增加了大量方便.实用的新特性.ASP.NET 2.0主要提供控件.页面框架.服务与APIs等3个方面的技术特性.       控件 在ASP.NET 1.x时代,由于内置服务器控件数量有限.功能覆盖面窄,因此,开发人员怨声载道.为了消除这个技术软肋,ASP.NET 2.0做出了突破性改进.在ASP.NET 2.0中,新增数十个服务器控件.根据控件功

全面剖析.Net环境下的缓存技术_实用技巧

一. 概念1.1   缓存能解决的问题· 性能--将相应数据存储起来以避免数据的重复创建.处理和传输,可有效提高性能.比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度: · 稳定性--同一个应用中,对同一数据.逻辑功能和用户界面的多次请求时经常发生的.当用户基数很大时,如果每次请求都进行处理,消耗的资源是很大的浪费,也同时造成系统的不稳定.例如,web应用中,对一些静态页面的呈现内容进行缓存能有效的节省资源,提高稳定性.而缓存数据也能降低对数据库的访问次数,降低数据

ASP.NET母版页基础知识介绍_实用技巧

模板页是做什么的? 利用模板页可以方便快捷的创建统一风格的ASP.NET网站,并且容易管理和维护,提高了效率. 模板页为网页定义所需要的外观和标准,在母版的基础上创建包含显示内容的各个内容页.当用户请求内容页时,这些内容页与母版页合并,这样,模板页的布局与内容页的布局就可以组合在一起输出了. 模板页一般用来: 1.通过修改模板页来处理网页的通用功能. 2.可以方便的创建一组控件和代码,并应用于一组网页. 3.通过允许控制占位符控件的呈现方式,模板页可以在细节上控制最终页的布局. 模板页与普通页

Win 2000下ASP.NET开发环境的配置_实用技巧

Win 2000下ASP.NET的配置 Win 2000(包括Professional,Server和Advanced Server)在默认情况下是不支持ASP.NET的.必须对它进行一个环境的配置. 客户端 SQL Server .NET 数据提供程序 Microsoft 数据访问组件 (MDAC) 2.6 或更高版本 对系统管理信息的访问 Windows Management Instrumentation (WMI)(在 Windows 2000操作系统一起安装)COM+ 服务 Windo

ASP实例:利用缓存提高数据显示效率

实例演示:先建立一个简单的数据库,写个function读取一下,写入一个dim变量temp中: ASP代码 以下为引用的内容:<%        Function DisplayRecords()            Dim sql, conn, rs            sql = "SELECT id, [szd_f], [szd_t] FROM admin"           Set conn = Server.CreateObject("ADODB.Con