利用 cache 做对比静态页的网页技术_应用技巧

一直想写一套生成静态页面的文章系统 但面对生成静态后的一些复杂数据库交互问题。又望而却步!

于是就想 有没有 在不耽误数据交互的情况下,而又能降低服务器负担的方法呢!

一个网站,访问量最大的莫过于 首页 和主栏目页了。 其他的页面 我可以不去想, 首页和主栏目页 在大流量下服务器改如何承担呢。

根据我编程2年多来的总结经验我想去了一下方法!

不生成静态页 并且降低服务器负担!

复制代码 代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
'读取远程文件的函数
Public Function readRemoteFile(RemoteDataUrl)
    Dim XMLHttp
    'On Error Resume Next
    Set XMLHttp = Server.CreateObject("Microsoft.XMLHTTP")
        With XMLHttp
            .Open "Get", RemoteDataUrl, False
            .Send
            readRemoteFile = BytesToBstr(.responseBody, "UTF-8")
        End With
    Set XMLHttp = Nothing   
End Function
'编码转换
Function BytesToBstr(body,Cset)
    dim objstream
    set objstream = Server.CreateObject("adodb.stream")
        objstream.Type = 1
        objstream.Mode =3
        objstream.Open
        objstream.Write body
        objstream.Position = 0
        objstream.Type = 2
        objstream.Charset = Cset
        BytesToBstr = objstream.ReadText 
        objstream.Close
    set objstream = nothing
End Function

Function tobody()
    Dim dateVal
                '先试图访问缓存,看有没有,或者过期没有
    dateVal = Application("defaultdate")
    If dateVal = "" Then dateVal = DateAdd("s",1200,Now)
    If Application("default") <> "" Then
        If DateDiff("s", Now, dateVal) > 0 Then
                                                '如果有,就从缓存读取,对服务器来说,就是从内存读取
            tobody = Application("default")&"<!--new cache"&dateVal&"-->"
            Exit Function
        End If
    End If
    Dim body
                '如果缓存没有,则从远程读取,并写入缓存,设置缓存时间。
    body = readRemoteFile("http://www.aoaob.com/default.asp")
    tobody = body&"<!--made cache"&Now&"-->"
    Application.Lock
    Application("default") = body
    Application("defaultdate") = DateAdd("s",1200,Now)
    Application.UnLock
End Function
Response.Write(tobody())
%>

时间: 2024-09-28 00:23:00

利用 cache 做对比静态页的网页技术_应用技巧的相关文章

利用 cache 做对比静态页的网页技术

一直想写一套生成静态页面的文章系统 但面对生成静态后的一些复杂数据库交互问题.又望而却步! 于是就想 有没有 在不耽误数据交互的情况下,而又能降低服务器负担的方法呢! 一个网站,访问量最大的莫过于 首页 和主栏目页了. 其他的页面 我可以不去想, 首页和主栏目页 在大流量下服务器改如何承担呢. 根据我编程2年多来的总结经验我想去了一下方法! 不生成静态页 并且降低服务器负担! 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="650

TSYS中生成静态页时溢出: &#039;CInt&#039;_应用技巧

今天在添加文章生成静态页是,发生了 溢出: 'CInt'. 经查得知: 原来是CINT不支持太大的数字,估计有一个数值范围吧,所以换成CLNG就解决问题了. 修改TSYS下的MANAGE/INCLUDE/CreateFile_Fun.asp中的第107行.             复制代码 代码如下: If I=0 Then                  '生成文件存放路径                 '原来的提示cint溢出FilePath=CreateFileSaveToPath(C

ASP.NET动态生成静态页面的实例代码_实用技巧

最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能.其主要原理就是读取数据库的数据然后替换掉静态模板页的内容.首先制作一个模板页,暂时命名为template.htm,示例代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-trans

不用模板只用ASP+FSO生成静态HTML页的一个方法_应用技巧

不用模板,只用ASP+FSO生成静态HTML页的一个方法(对于内容密集型页面特别适用)  转载请注明:转自http://goaler.xicp.net FSO生成静态HTML文件的时候替换模板标签一直是一个很麻烦的问题,至少我是这么认为的,还要别外做一个模板,麻烦!,我今天看见有一个方法可以解决这个问题 如一个正常的index.asp页面,并且用ASP代码调出数据库中的内容,另建一个makehtml.asp的页面,加入一个textarea域,假设为name="body",将index.

将首页转成静态html页的asp文件_应用技巧

此程序只能将首页转成静态!(真对一个页面) 将createhtml.asp文件上传到 你的空间存放首页文件(index.asp)的目录下录入网址直接打开createhtml.asp接提示操作就可以了如果没有转成功可将createhtml.asp更名试一下(如:改成z.asp)录入网址直接打开z.asp 本文件可以随便改名不影响运行 复制代码 代码如下: <% if request.QueryString("action")="ok"  then dim kk,

ASP.Net中利用CSS实现多界面的两种方法_实用技巧

本文实例讲述了ASP.Net中利用CSS实现多界面的两种方法.分享给大家供大家参考.具体实现方法如下: 可以通过使页面动态加载不同CSS来实现多界面的效果: 方法一: 复制代码 代码如下: <%@page language="C#"%> <%@import namespace="System.Data"%> <script language="c#" runat="server"> publ

asp.net利用后台实现直接生成html分页的方法_实用技巧

本文实例讲述了asp.net利用后台实现直接生成html分页的方法,是一个比较实用的功能.分享给大家供大家参考之用.具体方法如下: 1.建立存储过程: ALTER procedure [dbo].[p_news_query] @Page int as begin select top 5 new_id,new_title,new_url,new_content_text,create_time,user_name from (select *,ROW_NUMBER() over(order by

asp.net利用NamingContainer属性获取GridView行号的方法_实用技巧

由于DropDoweList与button不同,无法指定其CommandName,所以,也就没办法通过常规的方法捕获所在行的索引.颇费了些周折,后来找到用NamingContainer属性解决了问题.先来看看微软对该属性的解释:----------------------------------获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 Control.ID 属性值的服务器控件. ASP.NET Web 应用程序的每一页均包含控件的层次结构.此层次结构与控件是否生

ASP.NET使用HttpWebRequest读取远程网页源代码_实用技巧

读取远程网页能做什么就不用多说了吧,做小偷程序或是采集,也就诸如此类了吧. public string GetPage(string url) { HttpWebRequest request = null; HttpWebResponse response = null; StreamReader reader = null; try { request = (HttpWebRequest)WebRequest.Create(url); request.Timeout = 20000; req