成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Mybatis緩存

mrcode / 2031人閱讀

摘要:一級(jí)緩存和二級(jí)緩存緩存將語句查詢出來對(duì)應(yīng)的對(duì)象進(jìn)行緩存,供后續(xù)對(duì)象使用。所以說,一級(jí)緩存是基于的。為了解決相互共享問題,提供二級(jí)緩存解決該問題。注意,一級(jí)緩存對(duì)每個(gè)對(duì)象要求他們在所有語句后必須執(zhí)行語句,否則,不存在一級(jí)緩存。

Mybatis緩存

因?yàn)闊釔?,所以拼搏? --RuiDer

前導(dǎo)必備
- 數(shù)據(jù)庫
- Mybatis
Mybatis緩存
Mybatis提供緩存支持,志在提升開發(fā)的性能。數(shù)據(jù)庫數(shù)據(jù)的索引一般是基于磁盤的,而內(nèi)存和高速緩存相對(duì)磁盤的讀寫速度相當(dāng)快,基本是磁盤讀寫數(shù)據(jù)的十倍。尤其在互聯(lián)網(wǎng)開發(fā)中,追求速度,緩存為性能提供捷徑。Mybatis緩存包括一級(jí)緩存和二級(jí)緩存,一級(jí)緩存基于SqlSession層面,二級(jí)緩存基于SqlSessionFactory層面。
一級(jí)緩存和二級(jí)緩存
緩存:將sql語句select查詢出來對(duì)應(yīng)的POJO對(duì)象進(jìn)行緩存,供后續(xù)SqlSession對(duì)象使用。

一級(jí)緩存
    條件:
    - 同一個(gè)SqlSession對(duì)象
    - 同一個(gè)sql查詢語句
    當(dāng)同一個(gè)SqlSession對(duì)象進(jìn)行兩次相同select語句查詢時(shí),第一次會(huì)執(zhí)行sql語句進(jìn)行數(shù)據(jù)庫的索引,
之后將所查詢數(shù)據(jù)對(duì)應(yīng)的POJO對(duì)象進(jìn)行緩存;第二次執(zhí)行相同參數(shù)的sql語句查詢前,不會(huì)像第一次執(zhí)行sql語句,
而是直接從緩存中索引數(shù)據(jù)對(duì)象。所以說,一級(jí)緩存是基于SqlSession的。不同的SqlSession對(duì)象的緩存不可以
共享,不能相互訪問。為了解決相互共享問題,Mybatis提供二級(jí)緩存解決該問題。注意,一級(jí)緩存對(duì)每個(gè)SqlSession
對(duì)象要求他們在所有sql語句后必須執(zhí)行commit語句,否則,不存在一級(jí)緩存。

    二級(jí)緩存
    條件:
    - 同一個(gè)SqlSessionFactory對(duì)象
    - 不同的SqlSession對(duì)象
    - 共享POJO對(duì)象、
    二級(jí)緩存是相對(duì)SqlSessionFactory對(duì)象而言的,同一個(gè)SqlSessionFactory創(chuàng)建的不同的SqlSession對(duì)象,
可以共享該SqlSessionFactory下的所有POJO對(duì)象,也就是數(shù)據(jù)庫數(shù)據(jù)的共享。但是二級(jí)緩存要求對(duì)應(yīng)的POJO類需要實(shí)現(xiàn)
序列化,也就是實(shí)現(xiàn)java.io.Serializable接口。
一級(jí)緩存 和 二級(jí)緩存 的配置
一級(jí)緩存:Mybatis默認(rèn)一級(jí)緩存,只要每個(gè)SqlSession對(duì)象執(zhí)行commit語句,都會(huì)存在一級(jí)緩存。
二級(jí)緩存:
    
    加入上述語句,就會(huì)開啟二級(jí)緩存。二級(jí)緩存會(huì)進(jìn)行序列化和反序列化的過程,所以說POJO
必須要實(shí)現(xiàn)Seriaizable接口。二級(jí)緩存cache元素會(huì)將select出來的POJO對(duì)象進(jìn)行緩存,對(duì)于
insert,update,delete sql語句二級(jí)緩存會(huì)自動(dòng)刷新。
二級(jí)緩存配置cache元素配置項(xiàng)
//cache接口源碼
public interface Cache{
    //獲取緩存id
    public int getId();
    
    //保存POJO對(duì)象,key為鍵,value為值
    public void putObject(Object key,Object value);

    //獲取POJO對(duì)象
    public Object getObject(Object key);
    
    //清除緩存
    void clear();

    //獲取緩存大小
    public int getSize();
    
    //獲取讀寫鎖,主要是多線程時(shí)使用
    ReadWriteLock getReadWriteLock();
}
配置Redis或者M(jìn)ongoDB緩存處理

    

我的GitHub

我的博客

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://hztianpu.com/yun/71405.html

相關(guān)文章

  • Mybatis【逆向工程,緩存,代理】知識(shí)要點(diǎn)

    摘要:一級(jí)緩存值得注意的地方默認(rèn)就是支持一級(jí)緩存的,并不需要我們配置和整合后進(jìn)行代理開發(fā),不支持一級(jí)緩存,和整合,按照的模板去生成代理對(duì)象,模板中在最后統(tǒng)一關(guān)閉??偨Y(jié)的一級(jí)緩存是級(jí)別的。 前言 本文主要講解Mybatis的以下知識(shí)點(diǎn): Mybatis緩存 一級(jí)緩存 二級(jí)緩存 與Ehcache整合 Mapper代理 使用Mapper代理就不用寫實(shí)現(xiàn)類了 逆向工程 自動(dòng)生成代碼 ...

    wanglu1209 評(píng)論0 收藏0
  • MyBatis知識(shí)點(diǎn)整理

    摘要:得到用戶信息,將用戶信息存儲(chǔ)到一級(jí)緩存中。如果中間去執(zhí)行操作執(zhí)行插入更新刪除,則會(huì)清空中的一級(jí)緩存,這樣做的目的為了讓緩存中存儲(chǔ)的是最新的信息,避免臟讀。 基礎(chǔ): 1、 概念:Java當(dāng)中的一個(gè)持久層框架。2、 特點(diǎn)、優(yōu)勢:(1)把java代碼和SQL代碼做了一個(gè)完全分離。(2)良好支持復(fù)雜對(duì)象的映射(輸入映射、輸出映射)(3)使用動(dòng)態(tài)SQL,可以預(yù)防SQL注入。3、 ...

    zhangqh 評(píng)論0 收藏0
  • MyBatis緩存介紹

    摘要:緩存介紹正如大多數(shù)持久層框架一樣,同樣提供了一級(jí)緩存和二級(jí)緩存的支持一級(jí)緩存基于的本地緩存,其存儲(chǔ)作用域?yàn)?,?dāng)或之后,該中的所有就將清空。一級(jí)緩存實(shí)現(xiàn)對(duì)的操作內(nèi)部都是通過來執(zhí)行的。 MyBatis緩存介紹   正如大多數(shù)持久層框架一樣,MyBatis 同樣提供了一級(jí)緩存和二級(jí)緩存的支持   一級(jí)緩存: 基于PerpetualCache 的 HashMap本地緩存,其存儲(chǔ)作用域?yàn)?Se...

    mingde 評(píng)論0 收藏0
  • Spring Boot2(二):使用Spring Boot2集成Mybatis緩存機(jī)制

    摘要:本文章的源碼再文章末尾什么是查詢緩存有一級(jí)緩存和二級(jí)緩存。默認(rèn)開啟一級(jí)緩存。證明了一級(jí)緩存只是在數(shù)據(jù)庫會(huì)話內(nèi)部共享的。但是,整合到中后,一級(jí)緩存就會(huì)被關(guān)閉。根據(jù)時(shí)間表比如沒有刷新間隔緩存不會(huì)以任何時(shí)間順序來刷新。 倉庫地址:spring-boot-learning歡迎star、fork,給作者一些鼓勵(lì) 學(xué)習(xí)SpringBoot集成Mybatis的第二章,了解到Mybatis自帶的緩存機(jī)...

    mikasa 評(píng)論0 收藏0
  • Spring Boot2(二):使用Spring Boot2集成Mybatis緩存機(jī)制

    摘要:本文章的源碼再文章末尾什么是查詢緩存有一級(jí)緩存和二級(jí)緩存。默認(rèn)開啟一級(jí)緩存。證明了一級(jí)緩存只是在數(shù)據(jù)庫會(huì)話內(nèi)部共享的。但是,整合到中后,一級(jí)緩存就會(huì)被關(guān)閉。根據(jù)時(shí)間表比如沒有刷新間隔緩存不會(huì)以任何時(shí)間順序來刷新。 倉庫地址:spring-boot-learning歡迎star、fork,給作者一些鼓勵(lì) 學(xué)習(xí)SpringBoot集成Mybatis的第二章,了解到Mybatis自帶的緩存機(jī)...

    NSFish 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<