首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 图形图象-> 相关软件
asp提高数据显示效率-缓存探幽_asp技巧
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

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

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


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·使用C#在进度条中显示复制文件的进度-.NET教程,C#语言
·JAVASCRIPT调用JAVA-JSP教程,Java技巧及代码
·Java开源项目Hibernate包作用详解-JSP教程,Java技巧及代码
·新型单相逆变电源的研制
·解读Windows 2000/XP分层驱动模型-.NET教程,Windows开发
·NET中打印包含有格式的 RichTextBox 的内容-.NET教程,Asp.Net开发
·java用于链接数据库的例子(*.properties)-JSP教程,资料/其它
·cable modem及其系统的配置和使用
·asp.net 1.1/ 2.0 中快速实现单点登陆-.NET教程,Asp.Net开发
·持续集成 Java手册-JSP教程,Java技巧及代码
最新文章
·像我一样的菜鸟站长常犯的几种错误_站长心得
·网友开博客真的能赚钱吗?_网赚技巧
·google广告代码可以放到几个网站吗?_网赚技巧
·论坛如何最佳化?adsense最佳化案例_网赚技巧
·姚劲波:站长要用开放平和的心态去坚持_站长访谈
·章征军和他的站长网_站长访谈
·建自己想建的站坚持下去 就是最好的seo_站长心得
·autocad 2008的service pack 1测试版发布_autocad教程
·网站的定位在于选题(后半部分参考市场报)_站长心得
·互联网赚钱的几种基本模式_站长心得
相关主题
  • asp提高首页性能的一个技巧-ASP教程,ASP技巧
  • asp提高首页性能的一个技巧-ASP教程,ASP应用
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭