Redis主从复制
介绍
我们还可以对redis服务器配置主从同步,来减轻redis服务器的压力,
这样访问时会读写分离,查询的时候会走从服务器,而更新操作的时候走主服务器;
原理
主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。
默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。
作用
- 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
- 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。
- 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。
- 读写分离:可以用于实现读写分离,主库写、从库读,读写分离不仅可以提高服务器的负载能力,同时可根据需求的变化,改变从库的数量。
- 高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。
配置
配置其实挺简单的,就修改从服务对应的主服务地址就可以了。(修改时可以直接搜索slaveof关键字)
效果
通过以下命令查看主从情况
info replication
ps:说一个windows的尴尬启动客户端问题, 可能会也会有小伙伴跟我犯一样的错
不要直接双击redis-cli.exe启动,因为默认启动的是IP为127.0.0.1 端口为6379的客户端,无论2这么操作都是一样的。开似乎主从复制了,实际操作还是一个redis服务。
正确打开方式:启动doc窗口,输入
redis-cli.exe -h 127.0.0.1 -p 6379