redis一主二从添加哨兵

主从添加哨兵就从主从模式变更为了哨兵模式

主从搭建请参数链接:

https://blog.csdn.net/qq_34987395/article/details/106604566

修改sentinel.conf文件的配置(三台服务器都需要修改)

daemonize yes #后台启动哨兵
sentinel monitor mymaster 192.168.237.144 6379 2 
# mymaster是主哨兵名称
# 192.168.237.144 是主redis地址
# 2 是当哨兵认为主redis挂了切换的哨兵数量
protected-mode no  #放开外网访问权限(有密码的情况下不需要)
bind 0.0.0.0 #允许所有机器访问

主redis(192.168.237.144)配置完成后,查看指令:

redis-cli -h 127.0.0.1 -p 6379  #连接redis
info replication			#查看信息

完成后启动哨兵:
路径要根据配置的文件进行变更

启动哨兵:

/usr/local/redis/bin/redis-server /root/redis-4.0.8/sentinel.conf --sentinel

效果如下图:
在这里插入图片描述
主库信息:
在这里插入图片描述
从库信息:
在这里插入图片描述
哨兵信息:
在这里插入图片描述
设置开机启动
将开机指令添加到rc.local下就可以达到效果

cd /etc 
vi rc.local 
# 添加指令
/usr/local/redis/bin/redis-server /root/redis-4.0.8/sentinel.conf --sentinel

综合以上,redis从单机到哨兵配置完成,其实质上这些功能都是redis自带的。
使用的时候只需要添加/修改一些配置就可以完成功能,还是较为方便的。
以上配置较少,还需要其它功能的自行百度添加吧。

您好!对于Redis一主二从三哨兵架构,您可以使用RedisTemplate来进行整合操作。RedisTemplate是Spring Data Redis提供的用于操作Redis数据库的模板类。 首先,您需要配置Redis的连接信息和哨兵节点的配置信息。可以通过在Spring Boot配置文件中添加以下配置来指定Redis连接信息: ``` spring.redis.host=127.0.0.1 spring.redis.port=6379 ``` 接下来,您可以创建一个RedisTemplate的实例,并配置连接工厂、序列化器等属性。以下是一个示例代码: ```java @Configuration public class RedisConfig { @Bean public RedisConnectionFactory redisConnectionFactory() { RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration() .master("mymaster") .sentinel("127.0.0.1", 26379) .sentinel("127.0.0.1", 26380) .sentinel("127.0.0.1", 26381); return new LettuceConnectionFactory(sentinelConfig); } @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(redisConnectionFactory); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); return template; } } ``` 这里使用了Lettuce作为Redis客户端,并配置了RedisSentinelConfiguration以连接到哨兵节点。 最后,在需要使用Redis的地方,您可以通过注入RedisTemplate来进行操作。例如: ```java @Service public class MyService { private final RedisTemplate<String, Object> redisTemplate; public MyService(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; } public void setValue(String key, Object value) { redisTemplate.opsForValue().set(key, value); } public Object getValue(String key) { return redisTemplate.opsForValue().get(key); } } ``` 通过上述配置和代码,您就可以使用RedisTemplate来操作Redis数据库了。希望对您有帮助!如果您有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值