The invention discloses a method for the efficient management of data version based on cache, which belongs to the field of software development technology, to make up for lack of MyBatis two level cache control, improve the synchronization and consistency of the two level cache of Cache and data processing, the relationship between the various Cache; accurate management MyBatis two level cache the realization of MyBatis two level cache fine-grained control; when the execution of database update operation, you can specify clear query that generated by specific StatementId cache. The invention solves the problems existing in the process of software development database system with a large number of data interaction brings, meet business data consistency requirements, and reduce the difficulty of developing code, and improve the performance of existing or new concurrency system.
【技術實現(xiàn)步驟摘要】
一種基于數(shù)據(jù)版本的高效管理緩存的方法
本專利技術涉及軟件開發(fā)
,具體地說是一種基于數(shù)據(jù)版本的高效管理緩存的方法。
技術介紹
軟件開發(fā)中,有相當多的內(nèi)容需要跟數(shù)據(jù)庫交互,一般的處理是直接跟數(shù)據(jù)庫進行數(shù)據(jù)交換,但是數(shù)據(jù)庫的處理任務相當繁重,往往成為系統(tǒng)運行緩慢或者宕機的關鍵環(huán)節(jié)。即便使用了緩存技術,也會由開發(fā)人員直接操作緩存,對開發(fā)人員的開發(fā)能力和代碼質(zhì)量要求較高。MyBatis是一種數(shù)據(jù)持久化的技術框架,主要實現(xiàn)業(yè)務應用與數(shù)據(jù)庫交互的支撐,目前已經(jīng)廣泛應用于基于J2EE開發(fā)技術平臺之中。MyBatis提供了一種二級緩存機制,能夠簡單的緩存相應的數(shù)據(jù),但是二級緩存Cache和數(shù)據(jù)庫數(shù)據(jù)的同步性和一致性有所欠缺,設計一種自動緩存系統(tǒng),直接根據(jù)業(yè)務需求自主緩存,同時又要保持數(shù)據(jù)一致,滿足業(yè)務需求同時避免大量的數(shù)據(jù)庫交互和代碼人員的開發(fā)成為一種必然的需求。
技術實現(xiàn)思路
本專利技術的技術任務是針對以上不足之處,提供一種基于數(shù)據(jù)版本的高效管理緩存的方法,解決現(xiàn)有軟件開發(fā)過程中系統(tǒng)跟數(shù)據(jù)大量交互帶來的數(shù)據(jù)庫壓力問題,滿足業(yè)務數(shù)據(jù)一致性的要求,同時降低代碼開發(fā)的難度,提高已有或者新建系統(tǒng)的性能和并發(fā)能力。本專利技術解決其技術問題所采用的技術方案是:一種基于數(shù)據(jù)版本的高效管理緩存的方法,彌補MyBatis二級緩存控制上的不足,提高二級緩存Cache和數(shù)據(jù)庫數(shù)據(jù)的同步性和一致性,處理各個Cache之間的關聯(lián)關系;精確地管理MyBatis的二級緩存,實現(xiàn)對MyBatis二級緩存細粒度的控制;當執(zhí)行過對數(shù)據(jù)庫表的更新操作時,可以指定清除由特定的StatementId表示的查詢語 ...
【技術保護點】
一種基于數(shù)據(jù)版本的高效管理緩存的方法,其特征在于彌補MyBatis二級緩存控制上的不足,提高二級緩存Cache和數(shù)據(jù)庫數(shù)據(jù)的同步性和一致性,處理各個Cache之間的關聯(lián)關系;精確地管理MyBatis的二級緩存,實現(xiàn)對MyBatis二級緩存細粒度的控制;當執(zhí)行過對數(shù)據(jù)庫表的更新操作時,可以指定清除由特定的StatementId表示的查詢語句產(chǎn)生的緩存;對緩存的維護都是獨立的,緩存之間不會相互影響,指定的Mapper中的語句只會影響到該Mapper對應的Cache緩存,當執(zhí)行某些更新操作時,能夠刷新或者清空特定的查詢語句產(chǎn)生的緩存,以避免數(shù)據(jù)不一致。
【技術特征摘要】
1.一種基于數(shù)據(jù)版本的高效管理緩存的方法,其特征在于彌補MyBatis二級緩存控制上的不足,提高二級緩存Cache和數(shù)據(jù)庫數(shù)據(jù)的同步性和一致性,處理各個Cache之間的關聯(lián)關系;精確地管理MyBatis的二級緩存,實現(xiàn)對MyBatis二級緩存細粒度的控制;當執(zhí)行過對數(shù)據(jù)庫表的更新操作時,可以指定清除由特定的StatementId表示的查詢語句產(chǎn)生的緩存;對緩存的維護都是獨立的,緩存之間不會相互影響,指定的Mapper中的語句只會影響到該Mapper對應的Cache緩存,當執(zhí)行某些更新操作時,能夠刷新或者清空特定的查詢語句產(chǎn)生的緩存,以避免數(shù)據(jù)不一致。2.根據(jù)權利要求1所述的一種基于數(shù)據(jù)版本的...
【專利技術屬性】
技術研發(fā)人員:李光學,陳堯,
申請(專利權)人:浪潮軟件集團有限公司,
類型:發(fā)明
國別省市:山東,37
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。