日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

swf缓存文件在哪里_面试官:mybatis一级缓存二级缓存的区别都不知道,知道门在哪吧...

發(fā)布時(shí)間:2024/9/3 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 swf缓存文件在哪里_面试官:mybatis一级缓存二级缓存的区别都不知道,知道门在哪吧... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

面試官:蟲(chóng)蟲(chóng)你簡(jiǎn)歷上寫了了解mybatis緩存,那你能說(shuō)說(shuō)一級(jí)緩存和二級(jí)緩存的區(qū)別嗎?

蟲(chóng)蟲(chóng):我只知道這是用來(lái)緩存sql查詢的數(shù)據(jù)

面試官:沒(méi)了?

蟲(chóng)蟲(chóng):沒(méi)了

面試官:公司門知道在哪里吧 自己走還是我送你

以上是蟲(chóng)蟲(chóng)的面試經(jīng)歷 于是蟲(chóng)蟲(chóng)決定惡補(bǔ)一下Mybatis緩存機(jī)制的知識(shí)

Mybatis的緩存,包括一級(jí)緩存和二級(jí)緩存

Mybatis對(duì)緩存提供支持,一級(jí)緩存是默認(rèn)使用的

二級(jí)緩存需要手動(dòng)開(kāi)啟

區(qū)別:一級(jí)緩存的作用域是一個(gè)sqlsession內(nèi);二級(jí)緩存作用域是針對(duì)mapper進(jìn)行緩存.

一級(jí)緩存:

在參數(shù)和SQL完全一樣的情況下,我們使用同一個(gè)SqlSession對(duì)象調(diào)用一個(gè)Mapper方法,往往只執(zhí)行一次SQL,因?yàn)槭褂肧elSession第一次查詢后,MyBatis會(huì)將其放在緩存中,以后再查詢的時(shí)候,如果沒(méi)有聲明需要刷新,并且緩存沒(méi)有超時(shí)的情況下,SqlSession都會(huì)取出當(dāng)前緩存的數(shù)據(jù),而不會(huì)再次發(fā)送SQL到數(shù)據(jù)庫(kù)。

一級(jí)緩存時(shí)執(zhí)行commit,close,增刪改等操作,就會(huì)清空當(dāng)前的一級(jí)緩存;當(dāng)對(duì)SqlSession執(zhí)行更新操作(update、delete、insert)后并執(zhí)行commit時(shí),不僅清空其自身的一級(jí)緩存(執(zhí)行更新操作的效果),也清空二級(jí)緩存(執(zhí)行commit()的效果)。

二級(jí)緩存:

二級(jí)緩存指的就是同一個(gè)namespace下的mapper,二級(jí)緩存中,也有一個(gè)map結(jié)構(gòu),這個(gè)區(qū)域就是一級(jí)緩存區(qū)域。一級(jí)緩存中的key是由sql語(yǔ)句、條件、statement等信息組成一個(gè)唯一值。一級(jí)緩存中的value,就是查詢出的結(jié)果對(duì)象。

1、在配置文件中 開(kāi)啟二級(jí)緩存的總開(kāi)關(guān)

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

2、 在mapper映射文件中開(kāi)啟二級(jí)緩存

<cache eviction="FIFO" flushInterval="60000" size="512" readOnly="true"/>

參數(shù)名屬性eviction收回策略flushInterval刷新間隔size引用數(shù)目readOnly只讀

關(guān)于eviction的各個(gè)參數(shù)屬性:

參數(shù)名屬性eviction="LRU"最近最少使用的:移除最長(zhǎng)時(shí)間不被使用的對(duì)象。 (默認(rèn))eviction="FIFO"先進(jìn)先出:按對(duì)象進(jìn)入緩存的順序來(lái)移除它們。eviction="SOFT"軟引用:移除基于垃圾回收器狀態(tài)和軟引用規(guī)則的對(duì)象。eviction="WEAK"弱引用:更積極地移除基于垃圾收集器狀態(tài)和弱引用規(guī)則的對(duì)象。

3、實(shí)體類實(shí)現(xiàn)Serializable

禁用緩存

如測(cè)試sql語(yǔ)句性能時(shí)緩存會(huì)影響測(cè)試準(zhǔn)確性 需要禁用在映射文件中:默認(rèn)值是true useCache=”false”

<select id="findAllPets" resultMap="petsMap" useCache="false">select * from pets </select>

刷新緩存

在映射文件中:屬性:flushCache=”true”刷新緩存,在查詢語(yǔ)句中,默認(rèn)值是false,在新增刪除修改語(yǔ)句中,默認(rèn)值是true(清空緩存)

作者:愿做Bookworm
鏈接:https://segmentfault.com/a/1190000023156524?utm_source=tag-newest

總結(jié)

以上是生活随笔為你收集整理的swf缓存文件在哪里_面试官:mybatis一级缓存二级缓存的区别都不知道,知道门在哪吧...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。