Redis叢集搭建及整合springboot
阿新 • • 發佈:2021-08-13
Redis叢集搭建
-
將rdb、aof檔案都刪除掉;
-
製作6個例項:6379,6380,6381,6389,6390,6391
-
配置redis cluster:新增
redis6379.conf
檔案include /myredis/redis.conf pidfile "/var/run/redis_6379.pid" port 6379 dbfilename "dump6379.rdb" cluster-enabled yes cluster-config-file "nodes-6379.conf" cluster-node-timeout 15000
cluster-enabled yes 開啟叢集模式 cluster-config-file nodes-6379.conf 設定節點配置檔名 cluster-node-timeout 15000 設定節點失聯時間,超過該時間(毫秒),叢集自動進行主從切換。
-
拷貝多個redis.conf檔案:
redis6380.conf
,redis6381.conf
,redis6389.conf
,redis6390.conf
,redis6391.conf
;並使用查詢替換修改另外5個檔案(如:%s/6379/6380
) -
啟動6個redis服務
-
-
將六個節點合成一個叢集
組合之前,請確保所有redis例項啟動後,nodes-xxxx.conf檔案都生成正常。
合體操作:
cd /opt/redis-6.2.1/src
先進入src資料夾redis-cli --cluster create --cluster-replicas 1 192.168.11.101:6379 192.168.11.101:6380 192.168.11.101:6381 192.168.11.101:6389 192.168.11.101:6390 192.168.11.101:6391
整合SpringBoot
- 匯入依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- spring2.X整合redis所需common-pool2--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.6.0</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> </dependency>
- 編寫配置檔案
server.port=6001
#Redis伺服器地址
#spring.redis.host=*.*.*.*
#Redis伺服器連線埠
#spring.redis.port=6379
#Redis資料庫索引(預設為0)
spring.redis.database= 0
#連線超時時間(毫秒)
spring.redis.timeout=1800000
#連線池最大連線數(使用負值表示沒有限制)
spring.redis.lettuce.pool.max-active=20
#最大阻塞等待時間(負數表示沒限制)
spring.redis.lettuce.pool.max-wait=-1
#連線池中的最大空閒連線
spring.redis.lettuce.pool.max-idle=5
#連線池中的最小空閒連線
spring.redis.lettuce.pool.min-idle=0
spring.redis.cluster.nodes=*.*.*.*:6379, *.*.*.*:6380, *.*.*.*:6381, *.*.*.*:6389, *.*.*.*:6390, *.*.*.*:6391
- Redis配置類
- RedisUtil工具類