[發(fā)明專利]基于持久層框架的數(shù)據(jù)查詢方法及裝置在審
| 申請?zhí)枺?/td> | 201811531372.1 | 申請日: | 2018-12-14 |
| 公開(公告)號: | CN109656957A | 公開(公告)日: | 2019-04-19 |
| 發(fā)明(設(shè)計)人: | 苗海柱 | 申請(專利權(quán))人: | 中國銀行股份有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455 |
| 代理公司: | 北京三友知識產(chǎn)權(quán)代理有限公司 11127 | 代理人: | 王天堯 |
| 地址: | 100818 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 緩存數(shù)據(jù) 查詢數(shù)據(jù) 命中 持久層 查詢結(jié)果返回 查詢請求 數(shù)據(jù)查詢 數(shù)據(jù)庫查詢 處理性能 接收用戶 數(shù)據(jù)庫 應(yīng)用 | ||
本發(fā)明提供了一種基于持久層框架的數(shù)據(jù)查詢方法及裝置,其中,該方法包括:接收用戶在持久層框架的應(yīng)用中發(fā)起的查詢請求;根據(jù)查詢請求,確定待查詢數(shù)據(jù)是否命中緩存數(shù)據(jù);在待查詢數(shù)據(jù)命中緩存數(shù)據(jù)時,使用命中的緩存數(shù)據(jù)作為查詢結(jié)果返回;在待查詢數(shù)據(jù)沒有命中緩存數(shù)據(jù)時,進行數(shù)據(jù)庫查詢操作,將從數(shù)據(jù)庫中獲取的數(shù)據(jù)作為查詢結(jié)果返回。上述技術(shù)方案提高了系統(tǒng)的處理性能。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種基于持久層框架的數(shù)據(jù)查詢方法及裝置。
背景技術(shù)
在一個需要使用數(shù)據(jù)庫的高并發(fā)應(yīng)用場景,為減少數(shù)據(jù)庫操作,往往會對一些不經(jīng)常變化的數(shù)據(jù)表的查詢采用緩存處理方式。對于使用持久層框架例如ibatis框架的app應(yīng)用,一般會采用ibatis提供的緩存機制,但ibatis的緩存機制是在映射層實現(xiàn)的(可參考ibatis源碼CachingStatement的實現(xiàn)),同樣會占用數(shù)據(jù)庫連接,只是減少了數(shù)據(jù)庫執(zhí)行操作。在數(shù)據(jù)庫連接資源緊張的情況下,即使命中了緩存數(shù)據(jù),也會因為獲取連接慢而影響系統(tǒng)的處理性能。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種基于持久層框架的數(shù)據(jù)查詢方法,用以提高系統(tǒng)的處理性能,該方法包括:
接收用戶在持久層框架的應(yīng)用中發(fā)起的查詢請求;
根據(jù)所述查詢請求,確定待查詢數(shù)據(jù)是否命中緩存數(shù)據(jù);
在待查詢數(shù)據(jù)命中緩存數(shù)據(jù)時,使用命中的緩存數(shù)據(jù)作為查詢結(jié)果返回;在待查詢數(shù)據(jù)沒有命中緩存數(shù)據(jù)時,進行數(shù)據(jù)庫查詢操作,將從數(shù)據(jù)庫中獲取的數(shù)據(jù)作為查詢結(jié)果返回。
本發(fā)明實施例還提供了一種基于持久層框架的數(shù)據(jù)查詢裝置,用以提高系統(tǒng)的處理性能,該裝置包括:
接收單元,用于接收用戶在持久層框架的應(yīng)用中發(fā)起的查詢請求;
確定單元,用于根據(jù)所述查詢請求,確定待查詢數(shù)據(jù)是否命中緩存數(shù)據(jù);
查詢返回單元,用于在待查詢數(shù)據(jù)命中緩存數(shù)據(jù)時,使用命中的緩存數(shù)據(jù)作為查詢結(jié)果返回;在待查詢數(shù)據(jù)沒有命中緩存數(shù)據(jù)時,進行數(shù)據(jù)庫查詢操作,將從數(shù)據(jù)庫中獲取的數(shù)據(jù)作為查詢結(jié)果返回。
本發(fā)明實施例還提供了一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述基于持久層框架的數(shù)據(jù)查詢方法。
本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有執(zhí)行基于持久層框架的數(shù)據(jù)查詢方法的計算機程序。
與現(xiàn)有技術(shù)中獲取查詢數(shù)據(jù)時,在Statement層實現(xiàn)緩存處理的方案相比較,本發(fā)明實施例提供的技術(shù)方案,通過接收用戶在持久層框架的應(yīng)用中發(fā)起的查詢請求;根據(jù)所述查詢請求,確定待查詢數(shù)據(jù)是否命中緩存數(shù)據(jù);在待查詢數(shù)據(jù)命中緩存數(shù)據(jù)時,使用命中的緩存數(shù)據(jù)作為查詢結(jié)果返回;在待查詢數(shù)據(jù)沒有命中緩存數(shù)據(jù)時,進行數(shù)據(jù)庫查詢操作,將從數(shù)據(jù)庫中獲取的數(shù)據(jù)作為查詢結(jié)果返回,實現(xiàn)了在數(shù)據(jù)庫操作外層優(yōu)先檢查緩存數(shù)據(jù),如果命中緩存則不再進行數(shù)據(jù)庫操作,也就不存在獲取連接等后續(xù)數(shù)據(jù)庫操作,從而提高了系統(tǒng)的處理性能。
本發(fā)明實施例提供的方案適用于持久層框架應(yīng)用,例如:ibatis、MyBatis等。同時,也適用于不使用數(shù)據(jù)庫框架而自行實現(xiàn)數(shù)據(jù)庫操作的應(yīng)用。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的限定。在附圖中:
圖1是本發(fā)明實施例中基于持久層框架的數(shù)據(jù)查詢方法的流程示意圖;
圖2是本發(fā)明實施例中基于持久層框架的數(shù)據(jù)查詢方法的原理示意圖
圖3是本發(fā)明實施例中時間緩存法的流程示意圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國銀行股份有限公司,未經(jīng)中國銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811531372.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 寫緩存方法、緩存同步方法和裝置
- 數(shù)據(jù)緩存系統(tǒng)和數(shù)據(jù)緩存方法
- 一種緩存管理方法、裝置及現(xiàn)場可編程門陣列
- 分布式緩存方法及系統(tǒng)
- 一種數(shù)據(jù)緩存方法、裝置、設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)緩存方法和數(shù)據(jù)緩存裝置
- 緩存數(shù)據(jù)的刪除、數(shù)據(jù)緩存及緩存數(shù)據(jù)的讀取方法及裝置
- 一種分布式存儲的數(shù)據(jù)緩存方法和裝置
- 一種隊列緩存方法及設(shè)備
- 一種數(shù)據(jù)緩存方法、裝置、設(shè)備及存儲介質(zhì)





