你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中相似微信紅點顯示功用

iOS中相似微信紅點顯示功用

編輯:IOS開發綜合

上篇文章給大家引見了myDosBat target=_blank class=infotextkey>Batis一級緩存,有需求的冤家可以參考下。

與一級緩存相比,二級緩存范圍更大了一些,可以被多個SqlSession所共用。

異樣是發送異樣的查詢sql會先去緩存中找,找不到再去查詢數據庫。

每個namespace的mapper都會有自己的一個緩存的空間。

假如兩個mapper的namespace相反,執行mapper查詢到的數據將存儲到相反的二級緩存.

異樣假如有sqlSession執行了commit 會清空二級緩存.

配置文件(不必配置也是默許開啟的):

在sqlMapConfig.XmlRss/ target=_blank class=infotextkey>Xml中:

<setting name="cacheEnabled" value="true"/> 

在相應的mapper.XmlRss/ target=_blank class=infotextkey>Xml中:

<cache/>

假如不需求二級緩存,可以在設置禁用二級緩存

<select useCache="false"></select>

這樣每次都是從數據庫中讀取

在執行insert,update,delete後會刷新緩存(清空緩存),可以設置不刷新

普通不予設置,設置能夠會招致髒讀.

<insert flushCache="false"></insert>

小例子:

SqlSession session1 = factory.openSession();
   SqlSession session2 = factory.openSession();
   SqlSession session3 = factory.openSession();
   UserMapper mapper1 = session1.getMapper(UserMapper.class);
   UserMapper mapper2 = session2.getMapper(UserMapper.class);
   UserMapper mapper3 = session3.getMapper(UserMapper.class);
   //第一次懇求,查詢id為1的用戶
   User user1 = mapper1.findUserById(1);
   System.out.println(user1);
   //close 將數據寫入二級緩存
   session1.close();
   //清空二級緩存,UserMapper下的
   user1.setUsername("mmm");
   mapper3.updateUser(user1);
   session3.commit();
   //第二次查詢會從緩存中找
   User user2 = mapper2.findUserById(1);
   System.out.println(user2);
   session2.close();

留意此處要停止二級緩存的對象必需完成Serilizable接口,由於這些緩存數據能夠會反序列化寫到硬盤或許其他中央。

以上所述是本站給大家引見的MyDosBat target=_blank class=infotextkey>Batis二級緩存,希望對大家有所協助,假如大家有任何疑問請給我留言,本站會及時回復大家的。在此也十分感激大家對本站網站的支持!

【iOS中相似微信紅點顯示功用】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved