溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

asp開發(fā)中的XML緩存類文件緩存機制的原理

發(fā)布時間:2021-08-24 18:35:43 來源:億速云 閱讀:144 作者:chen 欄目:編程語言

這篇文章主要介紹“asp開發(fā)中的XML緩存類文件緩存機制的原理”,在日常操作中,相信很多人在asp開發(fā)中的XML緩存類文件緩存機制的原理問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”asp開發(fā)中的XML緩存類文件緩存機制的原理”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

  讀取機制:自動判斷有無緩存了的xml文件,當xml文件存在數(shù)據(jù),側從xml獲取數(shù)據(jù),反之從數(shù)據(jù)庫讀?。?/p>

  緩存機制:根據(jù)xml文件生存時間和用戶自定義的緩存時間判斷緩存有無過期,過期側生存新的xml文件;

  有效減少數(shù)據(jù)庫查詢讀取次數(shù),緩存數(shù)據(jù)量小讀取更快

  修改了一下,加了兩個方法,使用更方便

  viewsourceprint?001<%   002Remxml緩存類   003'--------------------------------------------------------------------   004'轉載的時候請保留版權信息   005'作者:╰⑥月の雨╮   006'博客:http://chthp.cnblogs.com/   007'版本:ver1.0   008'本類部分借鑒walkmanxml數(shù)據(jù)緩存類,使用更為方便歡迎各位交流進步   009'--------------------------------------------------------------------   010ClassXmlCacheCls   011Privatem_DataConn'數(shù)據(jù)源,必須已經(jīng)打開   012Privatem_CacheTime'緩存時間,單位秒默認10分鐘   013Privatem_XmlFile'xml路徑,用絕對地址,不需要加擴展名   014Privatem_Sql'SQL語句   015Privatem_SQLArr'(只讀)返回的數(shù)據(jù)數(shù)組   016Privatem_ReadOn'(只讀)返回讀取方式1-數(shù)據(jù)庫2-xml檢測用   017   018'類的屬性=========================================   019   020'數(shù)據(jù)源   021PublicPropertySetConn(v)   022Setm_DataConn=v   023EndProperty   024PublicPropertyGetConn   025Conn=m_DataConn   026EndProperty   027   028'緩存時間   029PublicPropertyLetCacheTime(v)   030m_CacheTime=v   031EndProperty   032PublicPropertyGetCacheTime   033CacheTime=m_CacheTime   034EndProperty   035   036'xml路徑,用絕對地址   037PublicPropertyLetXmlFile(v)   038m_XmlFile=v   039EndProperty   040PublicPropertyGetXmlFile   041XmlFile=m_XmlFile   042EndProperty   043   044'Sql語句   045PublicPropertyLetSql(v)   046m_Sql=v   047EndProperty   048PublicPropertyGetSql   049Sql=m_Sql   050EndProperty   051'返回記錄數(shù)組   052PublicPropertyGetSQLArr   053SQLArr=m_SQLArr   054EndProperty   055   asp開發(fā)中的XML緩存類文件緩存機制是什么   056'返回讀取方式   057PublicPropertyGetReadOn   058ReadOn=m_ReadOn   059EndProperty   060   061'類的析構=========================================   062   063PrivateSubClass_Initialize()'初始化類   064m_CacheTime=60*10'默認緩存時間為10分鐘   065EndSub   066   067PrivateSubClass_Terminate()'釋放類   068   069EndSub   070   071'類的公共方法=========================================   072   073Rem讀取數(shù)據(jù)   074PublicFunctionReadData   075IfFSOExistsFile(m_XmlFile)Then'存在xml緩存,直接從xml中讀取   076ReadDataFromXml   077m_ReadOn=2   078Else   079ReadDataFromDB   080m_ReadOn=1   081EndIf   082EndFunction   083   084Rem寫入XML數(shù)據(jù)   085PublicFunctionWriteDataToXml   086IfFSOExistsFile(m_XmlFile)Then'如果xml未過期則直接退出   087IfNotisXmlCacheExpired(m_XmlFile,m_CacheTime)ThenExitFunction   088EndIf   089Dimrs   090Dimxmlcontent   091Dimk   092xmlcontent=""   093xmlcontent=xmlcontent&""&vbnewline

  094xmlcontent=xmlcontent&""&vbnewline

  095k=0

  096SetRs=Server.CreateObject("Adodb.Recordset")

  097Rs.openm_sql,m_DataConn,1

  098WhileNotrs.eof

  099xmlcontent=xmlcontent&""&vbnewline

  106Wend

  107rs.close

  108Setrs=Nothing

  109xmlcontent=xmlcontent&""&vbnewline

  110

  111Dimfolderpath

  112folderpath=Trim(left(m_XmlFile,InstrRev(m_XmlFile,"\")-1))

  113CallCreateDIR(folderpath&"")'創(chuàng)建文件夾

  114WriteStringToXMLFilem_XmlFile,xmlcontent

  115EndFunction

  116

  117'類的私有方法=========================================

  118

  119Rem從Xml文件讀取數(shù)據(jù)

  120PrivateFunctionReadDataFromXml

  121DimSQLARR()'數(shù)組

  122DimXmlDoc'XmlDoc對象

  123DimobjNode'子節(jié)點

  124DimItemsLength'子節(jié)點的長度

  125DimAttributesLength'子節(jié)點屬性的長度

  126SetXmlDoc=Server.CreateObject("Microsoft.XMLDOM")

  127XmlDoc.Async=False

  128XmlDoc.Load(m_XmlFile)

  129SetobjNode=XmlDoc.documentElement'獲取根節(jié)點

  130ItemsLength=objNode.ChildNodes.length'獲取子節(jié)點的長度

  131Foritems_i=0ToItemsLength-1

  132AttributesLength=objNode.childNodes(items_i)。Attributes.length'獲取子節(jié)點屬性的長度

  133ForAttributes_i=0ToAttributesLength-1

  134ReDimPreserveSQLARR(AttributesLength-1,items_i)

  135SQLArr(Attributes_i,items_i)=objNode.childNodes(items_i)。Attributes(Attributes_i)。Nodevalue

到此,關于“asp開發(fā)中的XML緩存類文件緩存機制的原理”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI