1. 程式人生 > >mybatis 的二級快取的配置

mybatis 的二級快取的配置

開啟二級快取

第一步:

在全域性配置檔案中開啟

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

cacheEnable 對在此配置下的所有cache進行全域性性開/關設定 預設值為true

第二步

在Mapper對映檔案中新增一行開啟二級快取

.flushInterval(重新整理間隔):可以被設定為任意的正整數,而且它們代表一個合理的毫秒形式的時間段。
      預設情況是不設定,也就是沒有重新整理間隔,快取僅僅呼叫語句時重新整理;
      .size(引用數目):可以被設定為任意正整數,要記住你快取的物件數目和你執行環境的可用記憶體資源數目。
      預設值是1024;
      .readOnly(只讀):屬性可以被設定為true或false。只讀的快取會給所有呼叫者返回快取物件的相同例項。
      因此這些物件不能被修改。這提供了很重要的效能優勢。可讀寫的快取會返回快取物件的拷貝(通過序列化)。

      這會慢一些,但是安全,因此預設是false。

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

第三步:

呼叫pojo類實現序列化是的介面

class **pojo implements Serializable{  
    }  

為了將快取資料取出執行反序列化操作,因為二級快取資料儲存介質多種多樣,不一定在記憶體中通過close();

操作將sqlSession的資料寫入記憶體,不然寫不入記憶體;

執行關閉操作,將sqlSession的資料寫到二級快取區域 sqlSession1.close(); 


禁用二級快取

對於變化頻率較高的sql,需要禁用二級快取:在statement中設定useCache=false可以禁用當前select語句的二級快取,即每次查詢都會發出sql去查詢,預設情況是true,即該sql使用二級快取。

例如:<select id="findOrderListResultMap" resultMap="ordersUserMap" useCache="false">

重新整理快取

1、如果sqlsession操作commit操作,對二級快取進行重新整理(全域性清空)。

2、設定statement的flushCache是否重新整理快取,預設值是true。

例如:<select id="findOrderListResultMap" resultMap="ordersUserMap" flushCache="true"

>


相關推薦

mybatis 一級快取二級快取 配置使用

mybatis提供查詢快取,用於減輕資料壓力,提高資料庫效能。 mybaits提供一級快取,和二級快取。 1、一級快取 ​ MyBatis 預設開啟了一級快取,一級快取是在SqlSession 層面進行快取的。即,同一個SqlSession ,多次呼叫同一個Mapp

MyBatis-23MyBatis快取配置二級快取

概述 這裡我們來看下工作中最常用的二級快取。 MyBaits的二級快取可以理解為存在於SqlSessionFactory的生命週期中。 目前還沒接觸過同時存在多個SqlSessionFactory的情況,但可以知道當存在多個SqlSessi

mybatis通過配置檔案方式整合redis快取,替換mybatis二級快取

mybatis通過redis取代二級快取,二級快取的缺點不再贅述。mybatis預設快取是PerpetualCache,可以檢視一下它的原始碼,發現其是Cache介面的實現;那麼我們的快取只要實現該介面即可。該介面有以下方法需要實現:  String getId();  in

Hibernate 一 二級快取配置和原理

hibernate 的快取分為三大類,一級快取,二級快取和查詢快取 一級快取是hiSession級別的快取/事物快取,二級快取是Sessionfactory級別的快取 一級快取可以經過Sessionimpl類的兩個方法可以看出 actionQueue它是一個行動佇列,它主要記錄crud操作的相關資

MyBatis二級快取解析

一、建立Cache的完整過程 我們從SqlSessionFactoryBuilder解析mybatis-config.xml配置檔案開始: Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSe

spring+ mybatis 二級快取使用 redis作為快取

springMybatisConfig.xml配置 <?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="ht

SSM Mybatis二級快取深入學習——自定義sql語句開啟關閉快取

原文連結: https://inx.fun/p/526.html SSM Mybatis二級快取深入學習——自定義sql語句開啟關閉快取 木來 我在我自己的SSM專案中部署了二級快取,一開始沒有察覺,但是當我不停的去進行更新與修改操作的時候,我發現二級快取沒有用,這就很難受。 於

(springboot)基於Redis實現Mybatis二級快取(自定義快取)

Springboot + Mybatis + Redis Mybatis的二級快取是多個SqlSession共享的,作用於是mapper配置檔案中同一個namespace,不同的SqlSession兩次執行相同namespace下的sql語句且引數如果也一樣則最終執行的sq

Mybatis二級快取原理

記錄是一種精神,是加深理解最好的方式之一。 最近看了下Mybatis的原始碼,分析了二級快取的實現方式,在這裡把他記下來。雖然這不復雜,對這方面的部落格也有很多,寫的也很好。但我堅信看懂了是其一,能夠教別人或者描述清楚記下來才能真正的掌握。曹金桂 [email p

在SSM中使用redis作service層快取MyBatis二級快取

redis在windows端使用 下載壓縮包後解壓雙擊redis-server.exe或在目錄下開啟命令列視窗輸入redis-server.exe redis.windows.conf執行redis redis客戶端分為自帶的命令框和視覺化工具 自帶的命令框雙擊

mybatis二級快取的應用場景和侷限性

mybatis二級快取的應用場景 對於訪問多的,實時性要求不高的查詢請求,可以採用mybatis二級快取技術。 對於查詢特別耗時的sql請求,且實時性要求不高(如查詢前24小時或前一個月的消費統計) 二級快取如何應用: 通過設定快取重新整理間隔時間flushI

Mybatis二級快取、分散式二級快取、逆向工程、Spring 整合 --day06

Mybatis二級快取、分散式二級快取、逆向工程、Spring 整合 --day06 一、什麼是二級快取   上一篇介紹了一級快取,一級快取是一個sqlSession使用一個快取區域。那麼二級快取呢?   思考,多個sqlSession,但是每個sqlSession都執行 通過id查

Hibernate4 二級快取配置

1、Hibernate配置檔案開啟二級快取<!--開啟二級快取--> <property name="hibernate.cache.use_second_level_cache">true</property> <!--指定二級快

MyBatis快取配置(Cache)

<cache /> 3、Mapper XML檔案配置支援cache後,檔案中所有的Mapper statement就支援了。此時要個別對待某條,需要: <select id="inetAton" parameterType="string" resultType="integer" useC

Hibernate 5.2.12 二級快取配置及案例

1,Hibernate 快取簡介        Hibernate中提供了 二級快取,一級快取是Session級別的快取,它屬於事物範圍的快取,該快取由Hibernate管理,程式無需干涉,二級快取是SessionFactory級別的快取該快取可以配置和更改,是一種可插配的

hibernate4.3.6二級快取配置方法

     hibernate快取可以分為一級快取和二級快取,一級快取就是session級別的,只能為單個session共享,這是hibernate自己帶的無需我們配置就可以使用。      sessionFactory快取可以根據功能和目的的不同劃分為內建快取和外接快取:

mybatis二級快取不推薦使用

mybatis 二級快取不推薦使用     一 mybatis的快取使用。 大體就是首先根據你的sqlid,引數的資訊自己算出一個key值,然後你查詢的時候,會先把這個key值去快取中找看有沒有value,如果有,直接返回出來,就不查詢db了。如果沒有,那麼查詢db,

Mybatis redis 快取配置

在mybatis中,快取的功能由根介面Cache(org.apache.ibatis.cache.Cache)定義。整個體系採用裝飾器設計模式, 資料儲存和快取的基本功能由PerpetualCache(org.apache.ibatis.cache.impl.Perpetu

Spring Boot + Mybatis + 二級快取例項(Ehcache,Redis)

使用Mybatis自帶二級快取 MyBatis 包含一個非常強大的查詢快取特性,它可以非常方便地配置和定製。MyBatis 3 中的快取實現的很多改進都已經實現了,使得它更加強大而且易於配置。 預設情況下是沒有開啟快取的,除了區域性的 session 快取,可以增強

Spring boot使用Redis叢集替換mybatis二級快取

pom.xml新增相關依賴 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-