IBM Books

Net.Data 管理与程序设计指南,OS/2、Windows NT 以及 UNIX 版

高速缓存一个页面

使用 Net.Data DTW_CACHE_PAGE() 内部函数来指定要写至高速缓存的 Net.Data 生成的页面。

一旦确定在高速缓存中已经不存在页面或页面已经过期,DTW_CACHE_PAGE() 函数将高速缓存函 数语句之后的宏文件的所有输出。如果页面不存在于高速缓存中或超过指定的年龄,Net.Data 将把 输出页面发送回浏览器,从宏执行中生成新的输出页面,并将页面存储在高速缓存中。

如果高速缓存管理器找到高速缓存页面并且该页面仍然是当前的,则它显示高速缓存的内容,并 且 Net.Data 退出宏。此行为保证了在从高速缓存中检索了 Web 页面之后,不再作不需要的处理。

性能提示:把 DTW_CACHE_PAGE() 放在 最先,或作为宏文件中的第一条语句,以将执行宏文件的代价降到最低。

要高速缓存一个页面:

  1. 在宏文件的 HTML 块中,在 HTML 编码之前,插入以下函数语句:
    @DTW_CACHE_PAGE("cache_id", cached_page_id, "age", status)
    

    使用该函数来指出 Net.Data 将对跟 随此语句之后的宏中的所有 HTML 输出进行高速缓存。如果您希望高速缓存所有 HTML 输出,则将 该语句放在宏文件的最前面。

    参数:

    cache_id
    标志放置此页的高速缓存的字符串。 您可以将高速缓存标识符与宏或宏组相关联。

    cached_page_id
    一个包含了一个标识符的字符串,该标识符用于标识后继 @DTW_CACHE_PAGE 高速缓 存请求中的高速缓存中的页,例如页面的 URL。

    age
    包含时间长度(以秒计)的字符串变量,是在认为页面过期时指定的。 如果请求的 页在高速缓存中停留的时间长于值 age,Net.Data 将执行页面,并高速缓存所生成的页 面,代替过期页面。如果请求的 页在高速缓存中停留的时间等于或小于 age 的值,Net.Data 将在高速缓存中检索页面并将它发送 到浏览器。 在此情况下,Net.Data 立即结束宏执行。

    status
    由 Net.Data 返回的一个字符串变量,它指出页面是否已经正确高速缓存。

例子:

%HTML(cache_example) {
 %IF (customer == "Joe Smith")
 @DTW_CACHE_PAGE("mymacro.d2w", "http://www.mypage.org", "-1", status)
%ENDIF
 ...
  <html>
 
 <head>
 <:title>This is the page title</title>
 </head>
 
<body>
 <center>
 <h3>This is the Main Heading</h3>
 <p>It is $(time). Have a nice day!
  </body>
 
  </html>
 %}


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]