SENTINEL sentinels <any name>
master-name.SENTINEL get-master-addr-by-name <any name>
spring.redis.sentinel.password parameter should be configured.package com.example.demo;import org.apache.commons.pool2.impl.GenericObjectPoolConfig;import redis.clients.jedis.JedisSentinelPool;import java.util.HashSet;import java.util.Set;public class Main {public static void main(String[] args) {String masterName = "test";Set<String> sentinels = new HashSet<>();// You need to configure the database instance's private IPv4 address and portsentinels.add("XX.XX.XX.XX:6379");GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();String dbPassword = "root:xxx";//Replace this with your database access passwordString sentinelPassword = "root:xxx";//Replace this with your database access passwordJedisSentinelPool jedisSentinelPool =new JedisSentinelPool(masterName, sentinels, poolConfig,2000, 2000, dbPassword,0, null, 2000, 2000,sentinelPassword, null);System.out.println("jedisSentinelPool.getResource().ping() = " + jedisSentinelPool.getResource().ping());jedisSentinelPool.close();}}
package com.example.demo;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisPassword;import org.springframework.data.redis.connection.RedisSentinelConfiguration;import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import redis.clients.jedis.JedisPoolConfig;@SpringBootApplicationpublic class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}@Configurationclass RedisConfig {@Bean@Qualifier("jedisConnectionFactory")public JedisConnectionFactory connectionFactory() {RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration().master("test").sentinel("XX.XX.XX.XX", 6379);//Replace this with the private IPv4 address and port of your database instancesentinelConfig.setPassword(RedisPassword.of("xxx"));//Replace this with your database access passwordsentinelConfig.setSentinelPassword(RedisPassword.of("xxx"));//Replace this with your database access passwordJedisPoolConfig poolConfig = new JedisPoolConfig();JedisConnectionFactory connectionFactory = new JedisConnectionFactory(sentinelConfig, poolConfig);connectionFactory.afterPropertiesSet();return connectionFactory;}@Bean@ConditionalOnBean(JedisConnectionFactory.class)public RedisTemplate<String, String> redisTemplate(@Qualifier("jedisConnectionFactory") JedisConnectionFactory factory) {RedisTemplate<String, String> template = new RedisTemplate<>();template.setConnectionFactory(factory);template.afterPropertiesSet();//testtemplate.opsForValue().set("test", "test1");System.out.println("template.opsForValue().get(\\"test\\") = " + template.opsForValue().get("test"));return template;}}
Feedback