專利名稱:一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法,特別涉及一種 采用軟件開發(fā)中運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法。
背景技術(shù):
在服務(wù)器向客戶端提供服務(wù)時,使用緩存技術(shù)可以緩存住上次運(yùn)算的結(jié)果, 在下次接收到客戶端請求時,將不需要再次運(yùn)算,將會顯著提高系統(tǒng)性能。緩存 需要有過期時間,緩存的過期方式需要靈活地進(jìn)行配置,在緩存的設(shè)計(jì)中,應(yīng) 該把過期時間作為一種策略,抽象出接口,便于靈活地?cái)U(kuò)展。需要有一種可以 查看緩存的界面,以便于進(jìn)行緩存的調(diào)優(yōu)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種采用軟件開發(fā)中運(yùn)用緩存技術(shù)來提 高系統(tǒng)性能的方法。
本發(fā)明所述的 一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法,該方法至少
包括如下的步驟
步驟l:客戶端向服務(wù)器發(fā)起下載資源的請求,并指定資源ID。
步驟2:服務(wù)器以資源ID作為緩存名稱,檢查緩存中是否有該資源,如果沒
有該資源,則叢數(shù)據(jù)庫或其它資源服務(wù)器加載。
步驟3:服務(wù)器為該資源選擇合適的過期策略。
步驟4:服務(wù)器將該資源加到緩存中,并指定為合理的過期方式。
步驟5:服務(wù)器把資源作為應(yīng)答數(shù)據(jù)返回給客戶端。
步驟6:客戶端再次向服務(wù)器發(fā)起下載資源的請求。步驟7:服務(wù)器檢查緩存中是否有該項(xiàng)緩存,如杲有該項(xiàng)緩存,則根據(jù)過期方 式檢查它是否過期。
步驟8:如果緩存沒有過期,則直接將該資源作為應(yīng)答返回給客戶端。
步驟9:定期自動清理緩存,釋放一些已經(jīng)過期的資源。
本發(fā)明所述的 一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法,服務(wù)器為該 資源選擇合適.的過期策略其步驟為
步驟31:如果該資源在程序運(yùn)行中始終不會變化,可以指定為永不過期的緩存。
步驟32:如果該資源在一個指定的時長之后可能會變化,則可以指定固定時 間過期的緩存。
步驟33:如果該資源是依賴于一個文件的修改時間的,例如該資源是從該 文件加載的,可以指定為依賴文件修改時間的緩存。
步驟34:可以根據(jù)情況指定更為科學(xué)的緩存,例如可以在開始時設(shè)置較短的 過期時間,隨著它的i方問頻繁度不斷增加過期時間。
步驟35:如果該-爰存同時依賴于上述多種過期方式,可以通過組合;f莫式將各 種過期方式靈活地組合到一起。
本發(fā)明涉及的一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法,使得靈活運(yùn) 用緩存技術(shù)來提高系統(tǒng)性能。
圖1為本發(fā)明的流程圖。
具體實(shí)施例方式
參見圖1,本發(fā)明的主要步驟如下
步驟l:客戶端向服務(wù)器發(fā)起下載資源的請求,并指定資源ID。步驟2:服務(wù)器以資源ID作為緩存名稱,檢查緩存中是否有該資源,如果沒 有該資源,則從數(shù)據(jù)庫或其它資源服務(wù)器加載。
步驟3:服務(wù)器為該資源選擇合適的過期策略。
步驟4:服務(wù)器將該資源加到緩存中,并指定為合理的過期方式。
步驟5:服務(wù)器把資源作為應(yīng)答數(shù)據(jù)返回給客戶端。
步驟6:客戶端再次向服務(wù)器發(fā)起下載資源的請求。
步驟7:服務(wù)器檢查緩存中是否有該項(xiàng)緩存,如果有該項(xiàng)緩存,則根據(jù)過期方 式檢查它是否過期。
步驟8:如果緩存沒有過期,則直接將該資源作為應(yīng)答返回給客戶端。
步驟9:定期自動清理緩存,釋^L一些已經(jīng)過期的資源。
上述步驟3服務(wù)器為該資源選擇合適的過期策略的具體步驟如下
步驟31:如果該資源在程序運(yùn)行中始終不會變化,可以指定為永不過期的緩存。
步驟32:如果該資源在一個指定的時長之后可能會變化,則可以指定固定時 間過期的緩存。
步驟33:如果該資源是依賴于一個文件的修改時間的,例如該資源是從該 文件加載的,可以指定為依賴文件^^改時間的緩存。
步驟34:可以根據(jù)情況指定更為科學(xué)的緩存,例如可以在開始時設(shè)置較短的 過期時間,隨著它的訪問頻繁度不斷增加過期時間。
步驟35:如果該緩存同時依賴于上述多種過期方式,可以通過組合模式將各 種過期方式靈活地組合到 一起。
上述的技術(shù)方案實(shí)施時提供一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能。
最后所應(yīng)說明的是,以上實(shí)施例僅用以說明而并非限制本發(fā)明所描述的技術(shù)方案;因此,盡管本說明書參照上述的實(shí)施例對本發(fā)明已進(jìn)行了詳細(xì)的說明, 但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明進(jìn)行修改或者等同
地替換;而一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋
在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1、一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法,其特征在于該方法至少包括如下的步驟步驟1客戶端向服務(wù)器發(fā)起下載資源的請求,并指定資源ID。步驟2服務(wù)器以資源ID作為緩存名稱,檢查緩存中是否有該資源,如果沒有該資源,則從數(shù)據(jù)庫或其它資源服務(wù)器加載。步驟3服務(wù)器為該資源選擇合適的過期策略。步驟4服務(wù)器將該資源加到緩存中,并指定為合理的過期方式。步驟5服務(wù)器把資源作為應(yīng)答數(shù)據(jù)返回給客戶端。步驟6客戶端再次向服務(wù)器發(fā)起下載資源的請求。步驟7服務(wù)器檢查緩存中是否有該項(xiàng)緩存,如果有該項(xiàng)緩存,則根據(jù)過期方式檢查它是否過期。步驟8如果緩存沒有過期,則直接將該資源作為應(yīng)答返回給客戶端。步驟9定期自動清理緩存,釋放一些已經(jīng)過期的資源。
2、 根據(jù)權(quán)利要求1所述的一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法, 其特征在于服務(wù)器為該資源選擇合適的過期策略,其步驟為步驟31:如果該資源在程序運(yùn)行中始終不會變化,可以指定為永不過期的緩存。步驟32:如果該資源在一個指定的時長之后可能會變化,則可以指定固定時 間過期的緩存。步驟33:如果該資源是依賴于一個文件的^f奮改時間的,例如該資源是從該 文件加載的,可以指定為依賴文件修改時間的緩存。步驟34:可以根據(jù)情況指定更為科學(xué)的緩存,例如可以在開始時設(shè)置較短的 過期時間,隨著它的訪問頻繁度不斷增加過期時間。步驟35:如果該緩存同時依賴于上述多種過期方式,可以通過組合;f莫式將各種過期方式靈活地組合到一起。
全文摘要
一種靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能的方法,首先客戶端向服務(wù)器發(fā)起下載資源的請求,并指定資源ID;服務(wù)器以資源ID作為緩存名稱,檢查緩存中是否有該資源,如果沒有該資源,則從數(shù)據(jù)庫或其它資源服務(wù)器加載;服務(wù)器為該資源選擇合適的過期策略;服務(wù)器將該資源加到緩存中,并指定為合理的過期方式;服務(wù)器把資源作為應(yīng)答數(shù)據(jù)返回給客戶端;客戶端再次向服務(wù)器發(fā)起下載資源的請求;服務(wù)器檢查緩存中是否有該項(xiàng)緩存,如果有該項(xiàng)緩存,則根據(jù)過期方式檢查它是否過期;如果緩存沒有過期,則直接將該資源作為應(yīng)答返回給客戶端;最后定期自動清理緩存,釋放一些已經(jīng)過期的資源。本發(fā)明使得靈活運(yùn)用緩存技術(shù)來提高系統(tǒng)性能。
文檔編號H04L29/06GK101557390SQ200810103859
公開日2009年10月14日 申請日期2008年4月11日 優(yōu)先權(quán)日2008年4月11日
發(fā)明者瑩 劉, 濤 孫, 楠 張, 徐友春, 湯海京, 蔣海濤 申請人:北京聞言科技有限公司