這期內(nèi)容當中小編將會給大家?guī)碛嘘PiBATIS.net數(shù)據(jù)庫的緩存模式是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名申請、網(wǎng)絡空間、營銷軟件、網(wǎng)站建設、新城網(wǎng)站維護、網(wǎng)站推廣。
在iBATIS.net中提供了數(shù)據(jù)庫緩存的模式,可以提高訪問效率。對于一些不常更新的表可以直接利用iBATIS.net的緩存方式。
要使用iBATIS.net的數(shù)據(jù)庫緩存,只要利用配置文件就可以了,實現(xiàn)起來比較簡單:
﹤select id="GetCachedAccountsViaResultMap" resultMap="account-result" cacheModel="account-cache" ﹥ select * from Accounts order by Account_ID ﹤/select﹥
最主要的就是cacheModel="account-cache",指定緩存的方式,如下,是具體配置緩存的地方:
﹤cacheModels﹥ ﹤cacheModel id="account-cache" implementation="MEMORY" ﹥ ﹤flushInterval hours="24"/﹥ ﹤flushOnExecute statement="UpdateAccountViaInlineParameters"/﹥ ﹤flushOnExecute statement="UpdateAccountViaParameterMap"/﹥ ﹤flushOnExecute statement="InsertAccountViaParameterMap"/﹥ ﹤property name="Type" value="Weak"/﹥ ﹤/cacheModel﹥ ﹤/cacheModels﹥
其中:implementation="MEMORY"是設置緩存的實現(xiàn)方式,可以指定LRU、FIFO等,有點類似于內(nèi)存的頁替換策略。MEMORY是最常使用的一種方式。
flushOnExecute設置的是當執(zhí)行了這些語句時更新緩存。
配置好之后我進行了一個簡單的測試,基本上是可以的,但也有一點問題:
1、***次查詢結(jié)果是4條記錄,當我手工往數(shù)據(jù)庫中插入一條記錄時,第二次查詢還是4條記錄
2、當我把系統(tǒng)時間改成第二天(24小時后),再查,得到的結(jié)果是5條記錄
3、當我執(zhí)行了InsertAccountViaParameterMap語句插入一條記錄時,再查詢得到的是6條記錄
也就是說:當系統(tǒng)中的表從不進行手工維護,也不由第三方程序修改時,可以使用數(shù)據(jù)庫緩存的方式提高效率。
上述就是小編為大家分享的iBATIS.net數(shù)據(jù)庫的緩存模式是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。