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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MyBatis 使用 Redis 缓存

發布時間:2024/1/18 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatis 使用 Redis 缓存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前言

在上一文中,我們介紹了 MyBatis 的多級緩存。MyBatis 的二級緩存可在多個會話中共享緩存,但是這也加大了內存的使用空間,如果二級緩存空間占有量過多勢必會導致程序運行空間的不足,因此我們需要將二級緩存轉移到專業的緩存服務器上。

Redis 是一個高性能的 kv 數據庫,被廣泛的使用在緩存服務上,MyBatis 項目開發者提供了 Redis 緩存的實現。本小節我們將一起來學習如何在 MyBatis 中集成 Redis 緩存。

2. 準備

2.1 添加依賴

在項目的 pom.xml 文件中添加上 mybatis-redis 依賴:

<dependency><groupId>org.mybatis.caches</groupId><artifactId>mybatis-redis</artifactId><version>1.0.0-beta2</version> </dependency>

mybatis-redis 目前還只有 beta 版,相信不久后就可以到正式版了。

2.2 Redis服務器

請確保你擁有一臺可用的 Redis 服務器,并能夠正常運行。如下:

127.0.0.1:6379> ping PONG

2.3 Redis配置文件

在 src/main/resources 目錄下新增 redis.properties 配置文件,并向其中添加如下配置:

host=localhost port=6379 connectionTimeout=5OOO soTimeout=5OOO password=123456 database=O clientName=

注意,請根據自己的環境來修改配置,如密碼和主機。

3. 使用

3.1 配置

在對應的 mapper 配置文件中,如 UserMapper.xml 文件添加上對應的緩存配置。如下:

<cache type="org.mybatis.caches.redis.RedisCache" />

3.2 調用

配置好以后,我們就可以直接在程序中調用了。

SqlSession session1 = sqlSessionFactory.openSession(); UserMapper userMapper1 = session1.getMapper(UserMapper.class); User user1 = userMapper1.selectUserById(1); System.out.println(user1); SqlSession session2 = sqlSessionFactory.openSession(); UserMapper userMapper2 = session2.getMapper(UserMapper.class); User user2 = userMapper2.selectUserById(1); System.out.println(user2);

注意,User 對象必須實現Serializable接口才可被緩存。 比如:

public class User implements Serializable {}

當緩存成功,程序會有如下輸出,表示緩存擊中。

20:58:12.462 [main] DEBUG com.5axxw.mybatis.mapper.UserMapper - Cache Hit Ratio [com.5axxw.mybatis.mapper.UserMapper]: 1.0 User{id=1, username='peter', age=18, score=100} 20:58:12.499 [main] DEBUG com.5axxw.mybatis.mapper.UserMapper - Cache Hit Ratio [com.5axxw.mybatis.mapper.UserMapper]: 1.0 User{id=1, username='peter', age=18, score=100}

提示:?在第一次運行時,會向 Redis 中存放數據,不會使用到緩存,第二次運行時則才會使用到緩存。

4. 小結

  • Redis 緩存十分常見,MyBatis 集成 Redis 緩存也異常方便,但是在實際生產環境下如此應用的都不多,而是直接選擇其它方式來使用 Redis 緩存。

總結

以上是生活随笔為你收集整理的MyBatis 使用 Redis 缓存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。