mybatis之redis集成緩存配置使用


  前面兩篇文章介紹了一級緩存和二級緩存。MyBatis 默認提供的緩存實現是基於 Map 實現的內存緩存,己經可以滿足基本的應用。但是當需要緩存大量的數據時,不能僅僅通過提高內存來使用 MyBatis二級緩存,還可以選擇些類 EhCache 的緩存框架或 Redis 緩存數據庫等工具來保存 Mybatis得二級緩存數據。

一、首先來認識一下redis  

  支持的類型:字符串、散列、列表、集合和有序集合。

  因為 Redis 默認將所有數據都存儲到內存中,並且內存的讀寫速度遠遠高於硬盤,因此,比其他基於硬盤存儲的數據庫在性能上體現的優勢非常明顯。不過這樣也引發了一個數據安全性的問題,程序異常或退出后數據會出現丟失的情形,現在新的版本已經提供了數據持久化(RDB + AOF)的支持,即可以將內存中的數據異步寫入到硬盤上,同時不會影響其它功能的運行。

  redis 可以為每個鍵設置生存時間,到期自動刪除,也就是說可以作為緩存系統(這也是企業主要的運用場景)進行使用。

  相對於 Memcached,簡單的說:Redis 單線程模型,Memcached 支持多線程,但 Redis 支持的功能和數據類型更多,更簡單易用,並且 redis 的性能在絕大部分場合下都不會成為系統瓶頸,不過在多核服務器上使用的情況下,理論上 Memcached 比 redis 性能更高。所以,在新項目中,建議使用 redis 代替 Memcached。

  Redis 還可以限定數據占用的最大內存空間,在數據達到空間限制后按一定規則自動淘汰不需要的鍵;也支持構建高性能的隊列(不過很多企業會選擇第三方的 MQ,如:RabbitMQ)。

二、redis配置

1. 首先導入依賴

<!--        引入redis緩存依賴-->
        <dependency>
            <groupId>org.mybatis.caches</groupId>
            <artifactId>mybatis-redis</artifactId>
            <version>1.0.0-beta2</version>
        </dependency>

2. 在配置redis之前,需要對redis進行一個安裝驅動,大致驅動流程如下。

(1)先下載redis驅動,http://files.cnblogs.com/files/liqingwen/redis-windows-3.0.7z。

(2)對文件包進行解壓,並打開cmd窗口執行對應指令。(輸入cmd后enter鍵,進入dos窗口)

 

 (3)驅動redis

redis-server
redis-server --port 6379

執行指令出現頁面:

 

 (4)這時重開一個新的cmd窗口執行其他指令,當前頁面不要關閉。

切換到redis目錄下:

redis-cli.exe -h 127.0.0.1 -p 6379

設置鍵值對:

set myKey abc

取出鍵值對:

get myKey

測試與 redis 的連接是否正常,正常返回 PONG

PING   

 

 停止驅動

$ redis-cli SHUTDOWN

3. 在文件包config下新建redis.properties,對redis進行配置

host = localhost
port = 6379
connectionTimeout = 5000
soTimeout = 5000
password =
database = 0
clientName =

4. 在roleMapper.xml中進行設置

<mapper namespace="com.example.simple.mapper.RoleMapper">
    
    <cache type="org.mybatis.caches.redis.RedisCache" />


</mapper>

5. 再次執行testCache2測試,結果正常顯示。

至此,結束。

redis驅動安裝部分內容取自文章https://www.cnblogs.com/liqingwen/p/6917426.html。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM