Z-Blog 留言評(píng)論顯示IP地址和性能優(yōu)化

經(jīng)過對(duì)Z-Blog的代碼進(jìn)行分析,我發(fā)現(xiàn)其原因是大并發(fā)用戶同時(shí)寫數(shù)據(jù)庫(kù)產(chǎn)生的原因。
我這里想到了一個(gè)針對(duì)這個(gè)問題的解決方案,就是時(shí)間緩存,定時(shí)寫數(shù)據(jù)庫(kù),在一定時(shí)間內(nèi),數(shù)據(jù)只寫入內(nèi)存,不寫入數(shù)據(jù)庫(kù),當(dāng)緩存時(shí)間到了以后,再把內(nèi)存的數(shù)據(jù)寫入數(shù)據(jù)庫(kù)。這樣,即使再大的并發(fā)量,也不會(huì)再發(fā)生數(shù)據(jù)庫(kù)死鎖的問題了。
經(jīng)過初步的代碼修改和測(cè)試,發(fā)現(xiàn)修改完了以后就沒有這個(gè)問題了。
修改方法是,打開FUNCTION目錄下的c_html_js.asp文件,修改UpdateCountInfo函數(shù)為以下代碼即可。
Function UpdateCountInfo(id)
Dim strLastUpdate
Dim intArticleCount
Dim aryArticleCount
Dim objRS
Application.Lock
strLastUpdate=Application(ZC_BLOG_CLSID&"LAST_UPDATE")
aryArticleCount=Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")
aryArticleCount(id)=aryArticleCount(id)+1
Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")=aryArticleCount
Application.UnLock
If IsEmpty(strLastUpdate) Or Not IsDate(strLastUpdate) Then
Application.Lock
Application(ZC_BLOG_CLSID&"LAST_UPDATE") = Now()
strLastUpdate = Application(ZC_BLOG_CLSID&"LAST_UPDATE")
Application.UnLock
End If
If DateDiff("s",strLastUpdate,Now()) > 30 Then
'如果當(dāng)前時(shí)間與上次保存計(jì)數(shù)值的時(shí)間差大于設(shè)定的時(shí)間間隔,則把計(jì)數(shù)值重新寫入數(shù)據(jù)庫(kù)
Call OpenConnect()
Set objRS=objConn.Execute("SELECT [log_ID],[log_ViewNums] FROM [blog_Article] WHERE [log_ID] =" & id)
If (not objRS.bof) And (not objRS.eof) Then
intArticleCount=objRS("log_ViewNums")
Else
intArticleCount=0
End If
objRS.Close
Set objRS=Nothing
If aryArticleCount(id) > intArticleCount Then
objConn.Execute("UPDATE [blog_Article] SET [log_ViewNums]=" & CStr(aryArticleCount(id)) & " WHERE [log_ID] =" & id)
Application.Lock
Application(ZC_BLOG_CLSID&"LAST_UPDATE") = Now()
Application.UnLock
Else
aryArticleCount(id) = intArticleCount
Application.Lock
Application(ZC_BLOG_CLSID&"CACHE_ARTICLE_VIEWCOUNT")=aryArticleCount
Application.UnLock
End If
Call CloseConnect()
End If
End Function
另外,默認(rèn)的Z-Blog留言評(píng)論是沒有用戶IP地址顯示的,通過一些修改,可以在留言中增加用戶IP地址前三位的顯示功能,具體實(shí)現(xiàn)方法如下。
修改c_system_lib.asp文件的Public Function MakeTemplate(strC)函數(shù),加入下面語(yǔ)句:
ReDim aryTemplateTagsName(12)
ReDim aryTemplateTagsValue(12)
aryTemplateTagsName( 12)="article/comment/ip"
if AuthorID=1 then
aryTemplateTagsValue(12)=""
else
aryTemplateTagsValue(12)="ip:" + Left(IP, InStrRev(IP, ".")) + "*"
end if
修改TArticle的Function Export_CMTandTB()函數(shù),將 objComment.LoadInfoByArray(Array(objRS("comm_ID"),objRS("log_ID"),objRS("comm_AuthorID"),objRS("comm_Author"),objRS("comm_Content"),objRS("comm_Email"),objRS("comm_HomePage"),objRS("comm_PostTime"),"","")) 改為 objComment.LoadInfoByArray(Array(objRS("comm_ID"),objRS("log_ID"),objRS("comm_AuthorID"),objRS("comm_Author"),objRS("comm_Content"),objRS("comm_Email"),objRS("comm_HomePage"),objRS("comm_PostTime"),objRS("comm_IP"),""))
修改 b_article_comment.html ,增加 <#article/comment/ip#>標(biāo)簽。
之后,文章評(píng)論就會(huì)出現(xiàn)評(píng)論者的IP地址欄,不過有個(gè)問題是,當(dāng)評(píng)論有人回復(fù)的是時(shí)候,只能留下最后一個(gè)回復(fù)者的IP地址。(原文)
相關(guān)文章
- 這篇文章主要介紹了Nginx的Z-Blog的偽靜態(tài)配置方法,需要的朋友可以參考下2014-12-07
Z-Blog 使用Tmt主題時(shí)修改底部版權(quán)的方法
這篇文章主要介紹了Z-Blog 使用Tmt主題時(shí)修改底部版權(quán)的方法,需要的朋友可以參考下2014-12-07zblog2.2實(shí)現(xiàn)首頁(yè)顯示指定的分類技巧
zblog2.2的技巧下文分享給大家2014-09-29zblog php版本如何修改后臺(tái)默認(rèn)登錄地址
如果不修改默認(rèn)后臺(tái)地址總會(huì)感覺安全性靠不住。出于這個(gè)考慮,我今天也一直在想辦法修改默認(rèn)的后臺(tái)地址2014-05-21z-blog完美轉(zhuǎn)移到wordpress的方法分享
很多朋友剛建立博客的時(shí)候都是采用國(guó)內(nèi)優(yōu)秀的博客系統(tǒng):Z-BLOG,用一段時(shí)間過后很多人都想轉(zhuǎn)移到wordpress,各種轉(zhuǎn)移原因很多。學(xué)朋的主要原因就是Z-BLOG官方長(zhǎng)時(shí)間不對(duì)博客2012-09-15- 有關(guān)z-blog插件的制作過程步驟,在搜索引擎里至今沒有發(fā)現(xiàn)一篇詳細(xì)的教程,官方也沒有給出一個(gè)詳細(xì)的實(shí)例,所以不少躍躍欲試的朋友,卻找不到方向,甚為苦惱2012-03-04
zblog 文章評(píng)論數(shù)、瀏覽數(shù)出錯(cuò)的原因
前段日子,這個(gè)博客的文章瀏覽數(shù)和評(píng)論數(shù)頻繁出現(xiàn)問題,有很多時(shí)候是顯示不出數(shù)據(jù),除此外,就是顯示的數(shù)據(jù)一團(tuán)糟2012-03-04zblog文章自動(dòng)生成摘要長(zhǎng)度修改方法
zblog有個(gè)自動(dòng)生成文章摘要的功能,這給我們?cè)诎l(fā)表文章的時(shí)候提供了一些方便,節(jié)省了要手動(dòng)添加文章摘要的時(shí)間,這個(gè)功能很好2012-03-04z-blog分類目錄靜態(tài)化實(shí)現(xiàn)方法
今天狠狠的給這個(gè)博客動(dòng)了一次大手術(shù),那就是所有目錄靜態(tài)化,包括博客首頁(yè)靜態(tài)化,歸檔首頁(yè)靜態(tài)化2012-03-04zblog文章發(fā)布默認(rèn)瀏覽數(shù)修改方法
有個(gè)功能有些站長(zhǎng)會(huì)喜歡,那就是文章發(fā)布的默認(rèn)瀏覽數(shù)2012-03-04