Spring Boot Redisson - Spring Boot 168 EP 18

Spring Boot Redisson – Spring Boot 168 EP 18

實現了 List 、 Set 、 Map 等集合,可以用操作 JDK 類別的方式來操作 Redis,具有分散式特性, EP 18 增加了相依套件及設定。

前言

Redis 是一個高性能鍵值儲存的記憶體型的資料庫,支援資料的持久化,可以將記憶體的資料儲存在磁碟,重啟後可以再重新載入,同時提供 List  、 Set 、 Zset 、 Hash 等資料結構儲存,也支援資料備份,即 Master-Slave 主從模式的資料備份。

Spring Boot Redisson

檔案目錄

./
   +- build.gradle
       +- src
           +- main
               +- resources
                   +- application.properties
                   +- redisson.yaml

Gradle

build.gradle

增加 Redisson Spring Boot Starter 。

修改完後,點右鍵,Gradle -> Refresh Gradle Project 。

buildscript {
	group 'org.ruoxue.spring-boot-168'
	version = '0.0.1-SNAPSHOT'
	ext {
		redissonVersion = '3.11.5'
	}
}

dependencies {
	implementation "org.redisson:redisson-spring-boot-starter:${redissonVersion}"
}

設定

application.properties

增加 Redisson 設定。

spring.redis.redisson.config=classpath:redisson.yaml

redisson.yaml

Redis 單點設定。

singleServerConfig:
  idleConnectionTimeout: 60000
  pingTimeout: 1000
  connectTimeout: 60000
  timeout: 3000
  retryAttempts: 3
  retryInterval: 1500
  reconnectionTimeout: 3000
  failedAttempts: 3
  password:
  subscriptionsPerConnection: 5
  clientName: null
  address: "redis://127.0.0.1:6379"
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 50
  connectionMinimumIdleSize: 32
  connectionPoolSize: 64
  database: 0
threads: 4
nettyThreads: 4
codec:
  class: "org.redisson.codec.JsonJacksonCodec"
transportMode: "NIO"

測試

Application.main

在主程式點右鍵執行 Run As -> Java Application,查看 console。

2022-10-18T21:29:15.867+0800 [main] INFO Version#logVersion:41 - Redisson 3.11.5
2022-10-18T21:29:16.339+0800 [redisson-netty-2-4] INFO MasterConnectionPool#lambda$run$0:168 - 32 connections initialized for 127.0.0.1/127.0.0.1:6379
2022-10-18T21:29:16.339+0800 [redisson-netty-2-3] INFO MasterPubSubConnectionPool#lambda$run$0:168 - 1 connections initialized for 127.0.0.1/127.0.0.1:6379

心得分享

提供了分散式鎖及同步器,並支援同步,非同步,非同步流,管道流等連接方式,可以在高併發的狀況下,為資源競爭提供解決方案。

發佈留言