System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及一種大數據處理,特別是關于一種解決緩存穿透問題的方法(緩存null方法)、系統、介質及計算設備。
技術介紹
1、隨著大數據技術的發展,越來越多的查詢需要訪問數據庫。而各企業隨著業務的發展,會越來越重視數據查詢的響應時間,以及通信數據的豐富性,以滿足更多的數據指標要求,更快的交互速度。當需要頻繁的查詢一些數據,例如用戶名稱、枚舉值等數據時,為了快速查詢出來,往往會把數據緩存到內存當中,這樣用戶下次訪問時可以直接從緩存中獲取數據,不用頻繁請求數據庫。這樣可以更快獲得訪問數據,而且減輕了數據庫壓力,如圖2所示。但是在實際場景中,存在緩存系統宕機或者用戶高頻次查詢系統中沒有的數據,這時查詢沒有從緩存中讀取數據,而是直接前往數據庫進行數據查詢,導致數據庫壓力過大的情況。
技術實現思路
1、針對上述問題,本專利技術的目的是提供一種解決緩存穿透問題的方法、系統、介質及計算設備,其有效的解決了數據庫壓力過大的問題。
2、為實現上述目的,本專利技術采取以下技術方案:一種解決緩存穿透問題的方法,其包括:確定客戶請求在緩存系統中的第一查詢結果,根據該第一查詢結果判定是否進行數據庫查詢;確定客戶請求在數據庫中的第二查詢結果,根據該第二查詢結果判定查詢是否結束;若不結束則進行緩存null,當再次出現該客戶端請求時,則由緩存系統進行直接反饋。
3、進一步,確定客戶請求在緩存系統中的第一查詢結果,根據該第一查詢結果判定是否進行數據庫查詢,包括:
4、當接到客戶請
5、判斷第一查詢結果是否為空,若為空,則進行數據庫查詢。
6、進一步,當第一查詢結果存在時,則結束查詢;反之,當第一查詢結果為空時,則將客戶請求在數據庫中進行查詢。
7、進一步,確定客戶請求在數據庫中的第二查詢結果,根據該第二查詢結果判定查詢是否結束,包括:
8、將客戶請求在數據庫中進行數據查詢,并將該查詢結果作為第二查詢結果;
9、判斷第二查詢結果是否為空,若不為空,則結束查詢,反之進行下一步。
10、進一步,若不結束則進行緩存null,當再次出現該客戶端請求時,則由緩存系統進行直接反饋,包括:
11、第二查詢結果為空時,則新建一個null對象,將該null對象存儲到緩存系統中;
12、當再次出現該客戶端請求時,則直接在緩存系統中查詢,由緩存系統可以直接反饋該null對象。
13、進一步,將存儲到緩存系統中的null對象設置有效時間,超過有效時間后則該null對象過期。
14、進一步,有效時間設置為五分鐘。
15、一種解決緩存穿透問題的系統,其包括:第一判斷模塊,確定客戶請求在緩存系統中的第一查詢結果,根據該第一查詢結果判定是否進行數據庫查詢;第二判斷模塊,確定客戶請求在數據庫中的第二查詢結果,根據該第二查詢結果判定查詢是否結束;緩存null模塊,若不結束則進行緩存null,當再次出現該客戶端請求時,則由緩存系統進行直接反饋。
16、一種存儲一個或多個程序的計算機可讀存儲介質,包括所述一個或多個程序包括指令,所述指令當由計算設備執行時,使得所述計算設備執行上述方法中的任一方法。
17、一種計算設備,其包括:一個或多個處理器、存儲器及一個或多個程序,其中一個或多個程序存儲在所述存儲器中并被配置為所述一個或多個處理器執行,所述一個或多個程序包括用于執行上述方法中的任一方法的指令。
18、本專利技術由于采取以上技術方案,其具有以下優點:
19、1、本專利技術解決了緩存穿透的問題,避免了數據庫壓力過大,從而引發了一系列問題。
20、2、本專利技術與現有技術中的布隆過濾器相比,布隆過濾器隨著存入的元素數量增加,誤算率隨之增加;而本專利技術沒有誤算率的問題。而且布隆過濾器存在刪除元素困難的問題,本專利技術沒有刪除困難的問題。
本文檔來自技高網...【技術保護點】
1.一種解決緩存穿透問題的方法,其特征在于,包括:
2.如權利要求1所述解決緩存穿透問題的方法,其特征在于,確定客戶請求在緩存系統中的第一查詢結果,根據該第一查詢結果判定是否進行數據庫查詢,包括:
3.如權利要求2所述解決緩存穿透問題的方法,其特征在于,當第一查詢結果存在時,則結束查詢;反之,當第一查詢結果為空時,則將客戶請求在數據庫中進行查詢。
4.如權利要求1所述解決緩存穿透問題的方法,其特征在于,確定客戶請求在數據庫中的第二查詢結果,根據該第二查詢結果判定查詢是否結束,包括:
5.如權利要求1所述解決緩存穿透問題的方法,其特征在于,若不結束則進行緩存null,當再次出現該客戶端請求時,則由緩存系統進行直接反饋,包括:
6.如權利要求5所述解決緩存穿透問題的方法,其特征在于,將存儲到緩存系統中的null對象設置有效時間,超過有效時間后則該null對象過期。
7.如權利要求6所述解決緩存穿透問題的方法,其特征在于,有效時間設置為五分鐘。
8.一種解決緩存穿透問題的系統,其特征在于,包括:
...【技術特征摘要】
1.一種解決緩存穿透問題的方法,其特征在于,包括:
2.如權利要求1所述解決緩存穿透問題的方法,其特征在于,確定客戶請求在緩存系統中的第一查詢結果,根據該第一查詢結果判定是否進行數據庫查詢,包括:
3.如權利要求2所述解決緩存穿透問題的方法,其特征在于,當第一查詢結果存在時,則結束查詢;反之,當第一查詢結果為空時,則將客戶請求在數據庫中進行查詢。
4.如權利要求1所述解決緩存穿透問題的方法,其特征在于,確定客戶請求在數據庫中的第二查詢結果,根據該第二查詢結果判定查詢是否結束,包括:
5.如權利要求1所述解決緩存穿透問題的方法,其特征在于,若不結束則進行緩存null,當再次出現該客戶端請求時,則由緩存系統進行直接反饋,包括:
6.如權利要求5...
【專利技術屬性】
技術研發人員:黃培炎,敦建征,張培,初育娜,
申請(專利權)人:通號信息產業有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。