springboot redis 哨兵配置
时间: 2024-07-06 15:01:31 浏览: 248
详解SpringBoot Redis自适应配置(Cluster Standalone Sentinel)
Spring Boot 配置 Redis 哨兵(Sentinel)主要是为了让应用程序能够高可用地连接到 Redis 集群,并在主节点失效时自动切换到备节点。哨兵模式是 Redis 提供的一种监控和故障转移机制。以下是基本的配置步骤:
1. 添加依赖:首先,在你的`pom.xml`或`build.gradle`文件中添加Spring Data Redis和Spring Boot Actuator依赖,可能还需要sentinel的客户端依赖。
```xml
<!-- Maven -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>sentinel-spring-boot-starter</artifactId>
<version>latest</version>
</dependency>
// 或者 Gradle
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
implementation 'com.alibaba:sentinel-spring-boot-starter:latest'
```
2. 配置application.properties或application.yml:
- `spring.redis.sentinel.master`: 指定主集群的名字,例如 `mymaster`
- `spring.redis.sentinel.nodes`: 列出所有哨兵的IP地址和端口号,格式如 `localhost:26379,localhost:26380`
- 如果有密码,添加`spring.redis.sentinel.password`属性
```yaml
spring:
redis:
sentinel:
master: mymaster
nodes: "localhost:26379,localhost:26380"
password: your-password
```
3. 配置 Sentinel 作为Redis客户端的地址:
在`application.properties`或`application.yml`中,使用哨兵的地址而不是直接的Redis实例地址,比如:
```yaml
spring.redis.url: sentinel://localhost:26379,mymaster
```
4. 使用`@EnableCaching`注解启用缓存支持:
```java
@SpringBootApplication
@EnableCaching
public class App {
// ...
}
```
阅读全文