Redis学习笔记-单机部署redis主从复制以及哨兵模式

为什么要使用redis集群?

我们在生产环境中,一般重要的项目不会使用单机模式。因为一旦挂了。可能系统就崩掉了。或者一台服务器挂掉了。也就不能用了。为了保证系统的高可用。我们会使用redis集群来保证。就算一台redis挂了。马上会有新的redis来顶上来。

怎样来使用redis集群了?

redis集群配置很简单。在配置文件里面写的很详细。 有两种方式来设置主机和从机 默认启动redis服务会自动是主机 如果配置文件里面有slaveof 就会自动设置自己为从机 来连接到主机上面去 。同时在命令行模式下也可以执行slaveof命令。但是重启服务后自动失效。
# slaveof <masterip> <masterport>  #设置主机地址以及端口号
	# masterauth <master-password> # 设置主机密码  如果没有密码可以不设置
	slave-read-only yes  #从机是否只能读
从网上找了一个详细配置的解读。

redis配置都比较简单,都写的比较详细。

我们现在来配置三个redis服务器

    首先第一台redis服务我们来绑定6379端口号 第二个服务我们绑定6380 第三个我们绑定6381

现在我们的三个redis已经跑起来了。

截取部分重要配置文件:

logfile "/usr/local/redis/var/redis-one.log"
dbfilename "dumpone.rdb"
slaveof  127.0.0.1 6379 ##做谁的从机机
masterauth wbool ##主机的密码  如果主机有密码 这里一定要设置 要不然链接不上
replica-read-only yes ## 从机机是不是只能读
    6379 master
    6380 slave 6381 slave 6382 slave

我们看下这个的架构模式 一台主的 三台从机 然后主机负责写入 三台slave负责读操作 我们来测试下

    在主机设置一个值 在从机里面就能读到这个值

但是这种情况有个弊端 。如果主机挂了怎么办 。又没办法写入。所以redis提供了一种哨兵模式 你可以理解成给你派了一个哨兵盯梢。如果发现主机挂了。马上会从从机里面挑选出一个当做主机。来保证系统的高可用

哨兵模式

我们来简单的测试一下哨兵模式

    sentinel 配置
## sentinel monitor mymaster 127.0.0.1 6379 2   这里配置需要监控的master 最后一个2 代表切换master需要几个Sentinel的同意]
sentinel auth-pass mymaster wbool # 如果主机设置了密码  一定需要配置密码 要不然哨兵没办法正常运行
    启动sentinel
./redis-sentinel sentinel.conf
    启动后 哨兵会通过master来找到对应的从机
我们来让主机挂掉。看看从机会不会自动变成主机 这里可以看到 哨兵选取了6381来代替原来的6379 成为了新的master

Sentinel作用: 1)Master状态检测 2)如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave。 3)== Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换。==

附录:https://www.cnblogs.com/kevingrace/p/9004460.html

经验分享 程序员 微信小程序 职场和发展