当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。redis提供了一个master,多个slave的服务。

一、Master&Slave是什么?

也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机

的master/slaver机制,Master以写为主,Slave以读为主。

二、它能干嘛?

1、读写分离;

2、容灾恢复

我们在用java连接redis要关闭linux的防火墙

1、关闭防火墙:service iptables stop

2、配置主节点redis.conf

#masterRedis端口(主节点)
port 6379
# 守护进程模式
daemonize yes
#关闭保护模式
protected-mode no
#不注释掉只能本机连接,注释掉后并且没有设置密码会启用保护模式
bind 192.168.0.123
#日志文件
logfile var/redis/logs/redis-6379.log
#以RDB格式持久化的文件名称
bfilename dump6379.rdb
#redis的密码
requirepass admin123
#Pid文件名字
pidfile var/redis/pids/redis-6379.pid
#从节点是否是只读节点
slave-read-only yes

redis的主从、哨兵配置

 

 

 

3、#slaveRedis端口(从节点)

从节点的配置基本和主节点的配置一致,只不过从节点需要配置主节点的IP和密码,主节点和从节点的密码最好保持一致,在从节点的redis.config的配置文件中加入,

slaveof 192.168.0.123 6379(主节点的IP 端口)

masterauth admin123 (主节点的密码)

上面就是redis的主从配置,下面我们启动redis的服务,进行下验证

如果我们需要三台redis服务,只需要将redis.cofng复制三份,命名为:redis-6379.conf ,redis-7000.conf ,redis-7001.conf ,修改下文件中的端口和其它配置,在启动redis服务的时候指定下redis.conf 的文件路径,下面这两句命令就启动了三台redis

启动redis服务:./redis-server ../redis/config-6379.conf 主

./redis-server ../redis/config-7000.conf 从

./redis-server ../redis/config-7001.conf 从

连接redis客户端:./redis-cli -h 192.168.0.187 -a Ninestar123 -p 6379

客户端参数说明:-h 连接redis的IP -a redis的密码 -p redis的端口

 

至此我们已经启动里三台redis,(一主两从)连接主节点 我这里7000是主节点 不要晕了

 

连接后 输入命令 info 然后回车

 

查看Replication参数 如果打印出这些参数 则说明主从配置成功


role:是否主节点 master主节点 slave从节点

connected_slaves:从节点的个数

slave0...从节点的ip 端口

slave1...从节点的ip 端口

 

三、搭建哨兵集群

3.1、port 哨兵端口

 

3.2、配置监听主redis (mymaster只是给这个redis起个名字 可以自定义)1表示为一个哨兵认为这个主redis死了 则会从 从redis中重新选举个主redis

 

3.3、配置主redis的密码 (mymaster 要和3.2中的名字保持一致)

 

3.4、已守护进程启动,日志文件输入路径(注意:这两个参数在sentinel.config可能会没有,我们只需要手动加进去)

 

遇到的问题:这个是搭建哨兵集群遇到的问题 并不是配置哨兵的步骤

 

四、java通过哨兵模式动态链接redis

4.1:需要spring-data-redis.jar

4.2:下面配置通过sentinel连接主redis(要看配置的注释)

<!-- Jedis线程 -->
<bean />
</bean>
我是通过redisTemplate对redis进行操作的

notify-keyspace-events(键空间通知)
————————————————
版权声明:本文为CSDN博主「da鹏鹏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37090962/article/details/81218859

相关文章:

  • 2021-08-31
  • 2022-01-30
  • 2021-08-02
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-28
  • 2021-04-30
  • 2022-12-23
  • 2021-07-01
  • 2022-12-23
  • 2021-05-31
  • 2022-12-23
相关资源
相似解决方案