天天看點

Spring Boot中使用Redis資料庫

Spring Boot中除了對常用的關系型資料庫提供了優秀的自動化支援之外,對于很多NoSQL資料庫一樣提供了自動化配置的支援,包括:Redis, MongoDB, Elasticsearch, Solr和Cassandra。

Redis是一個開源的使用ANSI C語言編寫、支援網絡、可基于記憶體亦可持久化的日志型、Key-Value資料庫。

  • Redis官網
  • Redis中文社群
  • Spring-data-redis Reference

引入依賴

Spring Boot提供的資料通路架構Spring Data Redis基于Jedis。可以通過引入

spring-boot-starter-redis

來配置依賴關系。

1

2

3

4

<

dependency

>

<

groupId

>org.springframework.boot</

groupId

>

<

artifactId

>spring-boot-starter-redis</

artifactId

>

</

dependency

>

Spring Boot中使用Redis資料庫

說明:spring-data-redis是spring對原生的jedis做的封裝,jedis是redis官方提供的原生java用戶端。

參數配置

按照慣例在

application.properties

中加入Redis服務端的相關配置,具體說明如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

#################redis基礎配置#################

#spring.redis.database的配置通常使用0即可

spring.redis.database=0 

spring.redis.host=19.29.80.50

spring.redis.password=admin.1231

spring.redis.port=7001

# 連接配接逾時時間 機關 ms(毫秒)

spring.redis.timeout=3000

#################redis線程池設定#################

# 連接配接池中的最大空閑連接配接,預設值也是8。

spring.redis.pool.max-idle=500

#連接配接池中的最小空閑連接配接,預設值也是0。

spring.redis.pool.min-idle=50

# 如果指派為-1,則表示不限制;如果pool已經配置設定了maxActive個jedis執行個體,則此時pool的狀态為exhausted(耗盡)。

spring.redis.pool.max-active=2000

# 等待可用連接配接的最大時間,機關毫秒,預設值為-1,表示永不逾時。如果超過等待時間,則直接抛出JedisConnectionException

模版對象說明

redis模版對象有兩個(redisTemplate和StringRedisTemplate),當springboot工程啟動時,容器就會自動初始化這兩個操作對象,如果你好奇這兩個對象有什麼差別,請參考:RedisTemplate和StringRedisTemplate的差別

Spring Boot中使用Redis資料庫

上圖,是翻看了redis的自動配置源碼,源碼位置,看下圖:

Spring Boot中使用Redis資料庫

redisTemplate操作5種redis資料類型

Spring Boot中使用Redis資料庫

StringRedisTemplate操作5種redis資料類型

Spring Boot中使用Redis資料庫

如果你想在linux上搭建單機版的redis,請參考:linux單機版redis安裝

繼續閱讀