專利名稱:一種服務(wù)器的高效緩存系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種計(jì)算機(jī)系統(tǒng)數(shù)據(jù)處理系統(tǒng),特別是一種服務(wù)器的高效緩存系統(tǒng),適用于數(shù)據(jù)更新比較頻繁的計(jì)算機(jī)服務(wù)系統(tǒng)。
背景技術(shù):
目前,網(wǎng)站的頁面程序中,一般都會(huì)涉及到一些存儲(chǔ)在數(shù)據(jù)庫中的常用信息,如省份列表,商品分類等,這些信息對(duì)于每一個(gè)訪問用戶都是相同的。通常每一個(gè)用戶訪問時(shí), 都要去數(shù)據(jù)庫讀取,然后顯示給用戶;這樣不僅會(huì)使數(shù)據(jù)庫服務(wù)器負(fù)載加重,無法快速服務(wù)于更重要的事務(wù)處理,而且web服務(wù)器也必須不停地創(chuàng)建數(shù)據(jù)庫連接對(duì)象,消耗大量資源, 導(dǎo)致了當(dāng)用戶很多時(shí),網(wǎng)頁的響應(yīng)速度很慢。例如,同一時(shí)間內(nèi)有100個(gè)人對(duì)某個(gè)網(wǎng)頁發(fā)出訪問請(qǐng)求,那么就需要從數(shù)據(jù)庫中讀取100次數(shù)據(jù),然后分別發(fā)送給這些發(fā)出訪問請(qǐng)求的人,這樣是對(duì)寶貴的數(shù)據(jù)庫資源的一種極大的浪費(fèi),對(duì)同一類型數(shù)據(jù)頻繁訪問的效率很低。
實(shí)用新型內(nèi)容本實(shí)用新型的目的在于,提供一種服務(wù)器的高效緩存系統(tǒng),它能夠減少數(shù)據(jù)庫的訪問量,提高了對(duì)同一類型數(shù)據(jù)頻繁訪問的效率。為解決上述技術(shù)問題,本實(shí)用新型采用如下的技術(shù)方案一種服務(wù)器的高效緩存系統(tǒng),包括web服務(wù)器,用于接收用戶發(fā)出的訪問請(qǐng)求,并向緩存服務(wù)設(shè)備發(fā)出寫入或讀取數(shù)據(jù)的請(qǐng)求;緩存服務(wù)設(shè)備,用于讀寫數(shù)據(jù),或者向數(shù)據(jù)庫服務(wù)器發(fā)出讀寫數(shù)據(jù)請(qǐng)求,并將讀取結(jié)果返回給web服務(wù)器;其中,web服務(wù)器連接緩存服務(wù)設(shè)備,緩存服務(wù)設(shè)備連接數(shù)據(jù)庫服務(wù)器。所述web服務(wù)器根據(jù)用戶發(fā)出的訪問請(qǐng)求向緩存服務(wù)設(shè)備發(fā)出寫入或讀取數(shù)據(jù)的請(qǐng)求;所述緩存服務(wù)設(shè)備,根據(jù)web服務(wù)器發(fā)出的請(qǐng)求,將數(shù)據(jù)寫入緩存服務(wù)設(shè)備中的相應(yīng)位置或從緩存服務(wù)設(shè)備的相應(yīng)位置讀取數(shù)據(jù),當(dāng)緩存服務(wù)設(shè)備中存儲(chǔ)的數(shù)據(jù)過期或者緩存服務(wù)設(shè)備中沒有所需讀取的數(shù)據(jù)的時(shí)候,緩存服務(wù)設(shè)備才向數(shù)據(jù)庫服務(wù)器發(fā)出取數(shù)據(jù)操作。前述的一種服務(wù)器的高效緩存系統(tǒng)中,所述緩存服務(wù)設(shè)備中設(shè)有數(shù)據(jù)校驗(yàn)?zāi)K, 用于校驗(yàn)當(dāng)前緩存服務(wù)設(shè)備中是否存在用戶查詢的數(shù)據(jù)或者數(shù)據(jù)是否過期;當(dāng)緩存服務(wù)設(shè)備中的數(shù)據(jù)過期或者緩存服務(wù)設(shè)備中沒有所要查詢的數(shù)據(jù)時(shí),緩存服務(wù)設(shè)備向數(shù)據(jù)庫服務(wù)器發(fā)出讀取數(shù)據(jù)請(qǐng)求,從數(shù)據(jù)庫服務(wù)器中取得數(shù)據(jù)之后返回給Web服務(wù)器,同時(shí)緩存服務(wù)設(shè)備保存一份。前述的一種服務(wù)器的高效緩存系統(tǒng)中,所述緩存服務(wù)設(shè)備上設(shè)有定時(shí)模塊,用于給緩存服務(wù)設(shè)備中存儲(chǔ)的數(shù)據(jù)設(shè)置有效時(shí)間。所述設(shè)置有效時(shí)間是指,數(shù)據(jù)在設(shè)定的有效時(shí)間范圍內(nèi)有效。所述的緩存存儲(chǔ)對(duì)于訪問程序是透明的,無需要顯式地設(shè)置緩存。只需要指明本次存取,可能多長時(shí)間有效。后面緩存服務(wù)設(shè)備可以將本次訪問的結(jié)果數(shù)據(jù)設(shè)置一段指定長度的有效時(shí)間,在有效時(shí)間內(nèi),同樣的請(qǐng)求,都不會(huì)對(duì)后端數(shù)據(jù)庫造成影響,只是直接將結(jié)果返回。與現(xiàn)有技術(shù)相比,本實(shí)用新型設(shè)置緩存服務(wù)設(shè)備與數(shù)據(jù)庫服務(wù)器連接,在用戶對(duì)同一類型數(shù)據(jù)頻繁訪問時(shí),可將用戶第一次訪問時(shí)通過數(shù)據(jù)庫服務(wù)器獲得的數(shù)據(jù)存于緩存服務(wù)設(shè)備中,以后的訪問數(shù)據(jù)可在緩存中直接讀取,不需要訪問數(shù)據(jù)庫服務(wù)器,減少了數(shù)據(jù)庫服務(wù)器的訪問量,提高了對(duì)同一類型數(shù)據(jù)頻繁訪問的效率。
圖1是本實(shí)用新型的一種實(shí)施例的結(jié)構(gòu)示意圖;圖2是本實(shí)用新型的一種實(shí)施例的工作流程圖。附圖標(biāo)記1- web服務(wù)器,2-緩存服務(wù)設(shè)備,3-數(shù)據(jù)庫服務(wù)器,4-數(shù)據(jù)校驗(yàn)?zāi)K, 5-定時(shí)模塊。
以下結(jié)合附圖和具體實(shí)施方式
對(duì)本實(shí)用新型作進(jìn)一步的說明。
具體實(shí)施方式
本實(shí)用新型的實(shí)施例一種服務(wù)器的高效緩存系統(tǒng),結(jié)構(gòu)如圖1所示;包括web服務(wù)器1,用于接收用戶發(fā)出的訪問請(qǐng)求,并向緩存服務(wù)設(shè)備2發(fā)出寫入或讀取數(shù)據(jù)的請(qǐng)求;緩存服務(wù)設(shè)備2,用于讀寫數(shù)據(jù),或者向數(shù)據(jù)庫服務(wù)器3發(fā)出讀寫數(shù)據(jù)請(qǐng)求,并將讀取結(jié)果返回給web服務(wù)器1;其中,web服務(wù)器1連接緩存服務(wù)設(shè)備2,緩存服務(wù)設(shè)備2連接數(shù)據(jù)庫服務(wù)器3。所述web服務(wù)器1根據(jù)用戶發(fā)出的訪問請(qǐng)求向緩存服務(wù)設(shè)備2發(fā)出寫入或讀取數(shù)據(jù)的請(qǐng)求;所述緩存服務(wù)設(shè)備2,根據(jù)web服務(wù)器1發(fā)出的請(qǐng)求,將數(shù)據(jù)寫入緩存服務(wù)設(shè)備2 中的相應(yīng)位置或從緩存服務(wù)設(shè)備2的相應(yīng)位置讀取數(shù)據(jù),當(dāng)緩存服務(wù)設(shè)備2中存儲(chǔ)的數(shù)據(jù)過期或者緩存服務(wù)設(shè)備2中沒有所需讀取的數(shù)據(jù)的時(shí)候,緩存服務(wù)設(shè)備2才向數(shù)據(jù)庫服務(wù)器3發(fā)出取數(shù)據(jù)操作。所述緩存服務(wù)設(shè)備2中設(shè)有數(shù)據(jù)校驗(yàn)?zāi)K4,用于校驗(yàn)當(dāng)前緩存服務(wù)設(shè)備2中是否存在用戶查詢的數(shù)據(jù)或者數(shù)據(jù)是否過期;當(dāng)緩存服務(wù)設(shè)備2中的數(shù)據(jù)過期或者緩存服務(wù)設(shè)備2中沒有所要查詢的數(shù)據(jù)時(shí),緩存服務(wù)設(shè)備2向數(shù)據(jù)庫服務(wù)器3發(fā)出讀取數(shù)據(jù)請(qǐng)求,從數(shù)據(jù)庫服務(wù)器3中取得數(shù)據(jù)之后返回給web服務(wù)器1,同時(shí)緩存服務(wù)設(shè)備2也保存一份所讀取數(shù)據(jù)。所述緩存服務(wù)設(shè)備2上設(shè)有定時(shí)模塊5,用于給緩存服務(wù)設(shè)備2中存儲(chǔ)的數(shù)據(jù)設(shè)置有效時(shí)間。所述設(shè)置有效時(shí)間是指,數(shù)據(jù)在設(shè)定的有效時(shí)間范圍內(nèi)有效。本實(shí)施例設(shè)置數(shù)據(jù)的有效時(shí)間為Imin。所述的緩存存儲(chǔ)對(duì)于訪問程序是透明的,無需要顯式地設(shè)置緩存。只需要指明本次存取,可能多長時(shí)間有效。后面緩存服務(wù)設(shè)備可以將本次訪問的結(jié)果數(shù)據(jù)設(shè)置一段指定長度的有效時(shí)間,在有效時(shí)間內(nèi),同樣的請(qǐng)求,都不會(huì)對(duì)后端數(shù)據(jù)庫造成影響,只是直接將結(jié)果返回。本實(shí)用新型的一種實(shí)施例的工作流程(如圖2)Si,web服務(wù)器接收用戶發(fā)出的訪問請(qǐng)求;S2,web服務(wù)器根據(jù)用戶發(fā)出的訪問請(qǐng)求向緩存服務(wù)設(shè)備發(fā)出寫入或讀取數(shù)據(jù)的請(qǐng)求;S3,緩存服務(wù)設(shè)備根據(jù)web服務(wù)器的請(qǐng)求,寫入或讀取數(shù)據(jù),并將所讀取數(shù)據(jù)返回給web服務(wù)器。實(shí)例說明比如說一分鐘內(nèi)有1000個(gè)用戶訪問某個(gè)明星的首頁,此首頁要取得明星的粉絲列表,傳統(tǒng)的方法來取得明星的粉絲列表,是要從數(shù)據(jù)庫中讀取1000次相同的數(shù)據(jù),然后分別分發(fā)給每個(gè)用戶。若使用本實(shí)用新型的系統(tǒng),只需讀取一次數(shù)據(jù)庫中的數(shù)據(jù), 把這個(gè)數(shù)據(jù)保存在緩存中,并設(shè)置過期時(shí)間1分鐘,除了第一個(gè)用戶是讀取數(shù)據(jù)庫中的數(shù)據(jù),其余999個(gè)人都是從緩存中讀取的結(jié)果,這樣可以節(jié)省讀取數(shù)據(jù)庫的開銷,大大降低讀取數(shù)據(jù)庫的頻率。另外,由于第一個(gè)用戶是從數(shù)據(jù)庫中直接讀取的數(shù)據(jù),所占用的時(shí)間稍長之外,在過期時(shí)間之內(nèi)其他用戶都是從緩存中讀取的數(shù)據(jù),瀏覽器響應(yīng)特別快,頁面很快呈現(xiàn)在用戶面前,給用戶帶來了良好的體驗(yàn)。再比如說,某個(gè)人在10分鐘之內(nèi)訪問了 50個(gè)頁面,每個(gè)頁面都是需要取得好友關(guān)系的,而這些好友關(guān)系在10分鐘之內(nèi)變化的可能性是不大的,那么不需要每瀏覽一個(gè)頁面時(shí),都發(fā)出一個(gè)讀取數(shù)據(jù)庫中好友信息的請(qǐng)求。只需要將這個(gè)好友信息緩存在緩存服務(wù)設(shè)備中,并設(shè)置10分鐘過期時(shí)間,在過期時(shí)間之內(nèi)取好友關(guān)系的時(shí)候都可以直接從緩存服務(wù)設(shè)備中取數(shù)據(jù),讀取頁面數(shù)據(jù)速度快,給用戶帶來了良好的體驗(yàn)。
權(quán)利要求1.一種服務(wù)器的高效緩存系統(tǒng),其特征在于,包括web服務(wù)器(1),用于接收用戶發(fā)出的訪問請(qǐng)求,并向緩存服務(wù)設(shè)備(2)發(fā)出寫入或讀取數(shù)據(jù)的請(qǐng)求;緩存服務(wù)設(shè)備(2),用于讀寫數(shù)據(jù),或者向數(shù)據(jù)庫服務(wù)器(3)發(fā)出讀寫數(shù)據(jù)請(qǐng)求,并將讀取結(jié)果返回給web服務(wù)器(1);其中,web服務(wù)器(1)連接緩存服務(wù)設(shè)備(2 ),緩存服務(wù)設(shè)備(2 )連接數(shù)據(jù)庫服務(wù)器(3 ); 所述緩存服務(wù)設(shè)備(2)中設(shè)有數(shù)據(jù)校驗(yàn)?zāi)K(4),用于校驗(yàn)當(dāng)前緩存服務(wù)設(shè)備(2)中是否存在用戶查詢的數(shù)據(jù)或者數(shù)據(jù)是否過期。
2.根據(jù)權(quán)利要求1所述的一種服務(wù)器的高效緩存系統(tǒng),其特征在于所述緩存服務(wù)設(shè)備(2)上設(shè)有定時(shí)模塊(5),用于給緩存服務(wù)設(shè)備(2)中存儲(chǔ)的數(shù)據(jù)設(shè)置有效時(shí)間。
專利摘要本實(shí)用新型公開了一種服務(wù)器的高效緩存系統(tǒng),包括web服務(wù)器(1),用于接收用戶發(fā)出的訪問請(qǐng)求,并向緩存服務(wù)設(shè)備(2)發(fā)出寫入或讀取數(shù)據(jù)的請(qǐng)求;緩存服務(wù)設(shè)備(2),用于讀寫數(shù)據(jù),或者向數(shù)據(jù)庫服務(wù)器(3)發(fā)出讀寫數(shù)據(jù)請(qǐng)求,并將讀取結(jié)果返回給web服務(wù)器(1);其中,web服務(wù)器(1)連接緩存服務(wù)設(shè)備(2),緩存服務(wù)設(shè)備(2)連接數(shù)據(jù)庫服務(wù)器(3);本實(shí)用新型設(shè)置緩存服務(wù)設(shè)備與數(shù)據(jù)庫服務(wù)器連接,在用戶對(duì)同一類型數(shù)據(jù)頻繁訪問時(shí),可將用戶第一次訪問通過數(shù)據(jù)庫服務(wù)器獲得的數(shù)據(jù)存于緩存服務(wù)設(shè)備中,以后的訪問數(shù)據(jù)可在緩存中直接讀取,不需要訪問數(shù)據(jù)庫服務(wù)器,減少了數(shù)據(jù)庫服務(wù)器的訪問量,提高了對(duì)同一類型數(shù)據(jù)頻繁訪問的效率。
文檔編號(hào)G06F17/30GK202025314SQ201020532720
公開日2011年11月2日 申請(qǐng)日期2010年9月17日 優(yōu)先權(quán)日2010年9月17日
發(fā)明者伍星, 俞馳, 熊家貴 申請(qǐng)人:北京開心人信息技術(shù)有限公司