ASP 3.0高级编程(四十三)

财富顾问团

财富顾问团

2016-01-29 19:17

ASP 3.0高级编程(四十三),ASP 3.0高级编程(四十三)
  9.3.5 数据高速缓存
       首先需要注意的是,数据高速缓存与记录集高速缓存虽然都用于改善性能,但两者是无关的。数据高速缓存是临时的数据存储区,允许使用高速缓存中的数据,而不是重新生成新的数据。这只适用于那些不经常改动但多次被访问的数据。
       在ASP中一个最简单的缓存数据的方法是使用Application和Session范围的变量。例如,假设有一些需要选择书类型的网页。正常情况下,可能会创建一个含有以下函数的包含文件。
<%
Function BookTypes()

  Dim rsBookTypes
  Dim strQuote

  strQuote = Chr(34)

  Set rsBookTypes = Server.CreateObject ("ADODB.Recordset")

  ' Get the book types
  rsBookTypes.Open "usp_BookTypes", strConn

  Response.Write "<SELECT NAME=" & strQuote & lstBookType & strQuote & ""
  While Not rsBookTypes.EOF
    Response.Write & "<OPTION" & rsBookTypes("Type") & "</OPTION"
    rsBookTypes.MoveNext
  Wend
  Response.Write & "</SELECT"

  rsBookTypes.Close
  Set rsBookTypes = Nothing

End Function
%
这仅仅是调用一个存储过程,从而得到书的类型,同时创建一个SELECT列表。上述代码的缺点在于每次调用该函数都必须访问数据库。因此,重新修改这个函数。
<%
Function BookTypes()

  Dim rsBookTypes
  Dim strQuote
  Dim strList

  ' See if the list is in the cache
  strList = Application("BookTypes")
  If strList = "" Then
    ' Not cached, so build up list and cache it
    strQuote = Chr(34)

    Set rsBookTypes = Server.CreateObject ("ADODB.Recordset")

    ' Get the book types
    rsBookTypes.Open "usp_BookTypes", strConn

    strList = "<SELECT NAME=" & strQuote & lstBookType & strQuote & ""
    While Not rsBookTypes.EOF
      strList = strList & "<OPTION" & rsBookTypes("type") & "</OPTION"
      rsBookTypes.MoveNext
    Wend
    strList = strList & "</SELECT"

    rsBookTypes.Close
    Set rsBookTypes = Nothing

    ' Check the list
    Application("BookTypes") = strList
  End If

  BookTypes = strList

End Function
%
这段代码不只是打开记录集,它检查Application变量BookType的值是否为空。如果不为空,则使用该变量的内容。如果为空,则像以前一样打开记录集。显然,一旦第一个人运行了这一例程,便缓存了数据,因此这只对那些不常变化的数据是有用的。
如果想在用户基础上缓存数据,可以使用Session范围的变量,但这里必须注意Session存在有效期。过期后会话层变量将和会话一起取消,代码便有可能终止运行。
利用Web Application Stress(WAS)工具,得到了表9-4的分析结果:
表9-4  利用WAS工具得到的分析结果
方 法
页面点击次数

没有高速缓存
190

有高速缓存
11000

很明显性能有所改善。但不要采用上述方法缓存一切内容。毕竟,这种方法只适用于那些已经格式化后用于显示的数据。除此之外,还要考虑到如果Web服务器只为特定的一个人服务,那几乎不是一个典型的Web服务器的用法。使用WAS可以在一个服务器上模拟多个用户,这样可以更实际地测试应用程序。
通过模拟一定数量的用户,Web Application Stress工具可以对Web页面进行承受力测试。该工具有一个简单的图形界面,使用起来非常容易。可以从http://homer.rte.microsoft.com/获得更多的信息,也可以下载该工具。
高速缓存对象
若要缓存未格式化过的数据该怎么办?可以在不同地
展开更多 50%)
分享

猜你喜欢

ASP 3.0高级编程(四十三)

ASP
ASP 3.0高级编程(四十三)

ASP 3.0高级编程(四十)

ASP
ASP 3.0高级编程(四十)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP 3.0高级编程(十三)

ASP
ASP 3.0高级编程(十三)

ASP 3.0高级编程(三十三)

ASP
ASP 3.0高级编程(三十三)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ASP 3.0高级编程(四十五)

ASP
ASP 3.0高级编程(四十五)

ASP 3.0高级编程(四十四)

ASP
ASP 3.0高级编程(四十四)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在Linux中制作VCD

在Linux中制作VCD

.Net边学边讲(二)

.Net边学边讲(二)
下拉加载更多内容 ↓