SENTINEL sentinels <任意名称>
SENTINEL get-master-addr-by-name <任意名称>
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<>();//如下您需要配置数据库实例的内网IPv4地址及端口sentinels.add("XX.XX.XX.XX:6379");GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();String dbPassword = "root:xxx";//您需替换访问数据库的密码String sentinelPassword = "root:xxx";//您需替换访问数据库的密码JedisSentinelPool 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);//您需要替换为数据库实例的内网IPv4地址及端口sentinelConfig.setPassword(RedisPassword.of("xxx"));//您需替换访问数据库的密码sentinelConfig.setSentinelPassword(RedisPassword.of("xxx"));//您需替换访问数据库的密码JedisPoolConfig 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;}}
文档反馈