国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 深入理解Mybatis一級緩存

深入理解Mybatis一級緩存

2020-07-16 11:51我要這鐵棒有何用 Java教程

客戶端向數據庫服務器發送同樣的sql查詢語句,如果每次都去訪問數據庫,會導致性能的降低,那么怎么提高呢?下面小編給大家分享下mybatis為我們提供了一級緩存的策略

客戶端向數據庫服務器發送同樣的sql查詢語句,如果每次都去訪問數據庫,會導致性能的降低。

那么怎么提高呢?

mybatis為我們提供了一級緩存的策略

在一個sqlSession開啟和關閉之間,sqlSession對象內部(其實是Executor)會維護一個緩存的對象,當查詢數據時候,先從緩存中尋找是否存在該條數據,存在就直接取出來,不存在,向數據庫發送sql查詢, 然后將查詢后的數據存入緩存,和返回給程序。

這樣會存在一個問題:

如果在第一次和第二次查詢期間,有程序更改了要查訊的數據庫的數據,就會引起讀取的數據是錯誤的,也就是

臟讀,其實是mybatis在sqlSession執行commit()方法后會清空這個緩存。第二次去查詢,依然會從數據庫中查詢.

也可以手動調用sqlSession的clearCache()方法清除緩存

小例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Test
  public void testCacheLever1() throws Exception{
    SqlSession session = factory.openSession();
    UserMapper mapper = session.getMapper(UserMapper.class);
    //第一次請求,查詢id為1的用戶
    User user = mapper.findUserById(1);
    System.out.println(user);
    //更改數據,會清空緩存
    user.setUsername("yyyy");
    mapper.updateUser(user);
    session.commit();
    //第二次查詢會從緩存中找
    User user2 = mapper.findUserById(1);
    System.out.println(user2);
    session.close();
  }

問題:

如果sqlSession關閉了,緩存也就清空了。這怎么使用緩存來提高效率呢?

好了,下篇文章給大家介紹mybatis二級緩存

以上所述是小編給大家介紹的Mybatis一級緩存,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/i_jack/article/details/53764496

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩电影一区二区在线观看 | 黄色毛片一级片 | 国产精品观看 | 欧美日韩国产一区二区三区不卡 | 亚洲成av人片一区二区梦乃 | 欧美一区二区三区在线 | 日韩精品专区 | 射久久 | 伊人网在线 | 国产日韩欧美 | 欧洲一区在线观看 | 性色浪潮| 国产aaaaav久久久一区二区 | 国产高潮久久 | 99久久婷婷国产精品综合 | 成人特黄a级毛片免费视频 国产在线视频一区二区 | 日韩免费在线观看视频 | 国产精品亚洲精品 | 国产一区免费视频 | 久操视频免费在线观看 | 久久久女女女女999久久 | 视频一区中文字幕 | 综合精品 | 午夜精品久久 | 亚洲国产成人一区二区精品区 | 99精品免费视频 | 午夜精品美女久久久久av福利 | 日韩a视频 | 欧美一区二区三区电影 | 91精品欧美久久久久久动漫 | 国产精品日本欧美一区二区三区 | 午夜视频在线观看网站 | 亚洲免费av在线 | 国产成人一区二区三区 | 欧美日韩国产一区二区 | 日本好好热视频 | 久久福利电影 | 亚洲精品一区二区三区不 | 狠狠色综合网站久久久久久久 | 色久视频 | 草比网站 |