我的博文

临时写的一个使用缓存的asp程序

2006-12-11 22:18 阅读(557) 评论(1) 分类:录

目前网页编程的新技术层出不穷,作为一个业余爱好者来说,我只能从门外窥得一星半点,偶尔使用一些雕虫小技而已。就我所知,目前比较流行的技术有:

缓存技术:分为服务器端缓存和客户端缓存技术,所谓的服务器端缓存实质上就是把需要读取的数据放在服务器的内存里,当再次读取的时候,只要从内存读取数据,这样就大大提高了服务器执行效率,也大大减低了数据库的访问压力。但是如果数据是不断更新的,那么缓存的内容也需要不断更新,就可以使用间歇的访问数据库的来实现缓存的更新,一般设置成30秒就可以了,如果是很少更新的内容可以设置成更长时间。而客户端缓存技术,是使用clone使得用户获取自己的相关信息。

另外还有ajax技术,页面布置一般使用div+css技术。华夏病理目前定制的程序很少使用这些新技术或者几乎没有使用,总体来说我觉得执行效率不是很好,还有很大的改造空间,看来还需要我来着手慢慢改造,首先来解决访问速度问题吧,缓存技术该提到首位,选来选去,还是准备使用迷城浪子写的标准缓存类来实现。下面是我写的一个临时的缓存使用程序演示,我暂时把它用在论坛跳转里面,经过测试节省了运行时间60~100毫秒,数据10分钟更新一次。

DisplayCachedRecords(600)   '调用方法
function Display_forum()
dim tmp_c, tmp_1, sql              '使用变量先声名,他们好像没有这个好习惯
sql = "SELECT * FROM forum_basclass ORDER BY sortnum asc"
if not IsObject(conn) then Openconn  '数据库在需要的时候才打开,所谓的最迟打开原则
set tmp_c=conn.execute(sql)
If Not tmp_c.EOF Then
dim forum_str
while not tmp_c.eof
        forum_str = forum_str & "<option value='$' style=background-color:"&tablecolor&">◇"&tmp_c("classname")&"</option>"
 sql = "SELECT * FROM Forum_class where basclass="&tmp_c("classcode")&" ORDER BY sortnum asc"
 set tmp_l=conn.execute(sql)
   while not tmp_l.eof
  forum_str = forum_str & "<option value='forum_list.asp?classcode=" &tmp_l("classcode")& "&flag=" &tmp_l("flag")& "' style=background-color:"&table_topic_light_color&"> ├"&tmp_l("classname")&"</option>"
  tmp_l.movenext
   wend
 
 tmp_l.close
 set tmp_l=nothing
 tmp_c.movenext
wend
Display_forum = forum_str
Else
Display_forum = "目前还没有数据。"
End If
tmp_c.close
set tmp_c=nothing
closeconn  '数据库最早关闭的原则
End function

Function DisplayCachedRecords(Secs)
Dim retVal, datVal, temp1
retVal = Application("ForumJumpList")
datVal = Application("ForumJumpList_date")
If datVal = "" Then
datVal = DateAdd("s",Secs,Now)
End If
temp1 = DateDiff("s", Now, datVal)
If temp1 > 0 And retVal <> "" Then
DisplayCachedRecords = retVal
Else
Dim temp2
temp2 = Display_forum()
Application.Lock
Application("ForumJumpList") = temp2
Application("ForumJumpList_date") = DateAdd("s",Secs,Now)
Application.UnLock
DisplayCachedRecords = temp2
End If
End Function

 

我要评论

loading...

0条评论