邵阳建网站多少钱,蒲城县住房和城乡建设局网站,兴义网站建设,asp网站开发实训Redis | 主从模式
1. 简介
Redis主从模式#xff08;Replication#xff09;是Redis提供的一种数据备份和高可用性解决方案。通过主从复制#xff0c;可以将一个Redis服务器的数据复制到其他多个从服务器#xff0c;从而实现数据的备份和读写分离#xff0c;提高系统的性…Redis | 主从模式
1. 简介
Redis主从模式Replication是Redis提供的一种数据备份和高可用性解决方案。通过主从复制可以将一个Redis服务器的数据复制到其他多个从服务器从而实现数据的备份和读写分离提高系统的性能和可用性。
主从模式的工作原理如下
主节点Master主节点是主要的数据写入节点负责接收客户端的写入操作写操作包括SET、INCR等并将写入的数据同步到从节点。从节点Slave从节点负责复制主节点的数据。它接收主节点发送过来的写操作命令并执行相同的写操作以保持数据的一致性。数据同步主节点会将写操作的命令发送给所有连接的从节点从节点执行相同的写操作从而保持数据同步。只读操作客户端的只读操作例如GET等可以由从节点处理从而减轻主节点的压力提高读取性能。
主从模式的优势在于数据备份和读写分离
数据备份通过复制数据到从节点即使主节点发生故障数据仍然可用并且可以通过从节点恢复数据。读写分离通过从节点处理只读操作可以减轻主节点的负担提高读取性能。
2. 配置
2.1. 配置主节点 注意不配置默认也是主节点 启动参数方式
在主节点的redis-server执行程序启动时添加--replicaof no one启动参数表示当前节点为主节点。
redis-server --replicaof no one配置文件方式
在主节点的redis.conf文件中设置replicaof选项为no one表示当前节点为主节点。
replicaof no one2.2. 配置从节点
启动参数方式
在主节点的redis-server执行程序启动时添加--replicaof master_ip master_port启动参数设置当前节点的主节点。
如果主节点有密码还需要添加--masterauth master_password。
配置文件方式
在从节点的redis.conf文件中设置replicaof选项为主节点的地址和端口。
replicaof master_ip master_port如果主节点有密码还需要添加masterauth在redis.conf
masterauth master_password3. 演示
docker-compose.yaml
version: 3.8
services:redis1:container_name: redis1image: redis:7.0command:- redis-server- --requirepass 123456- --bind * -::*redis2:container_name: redis2image: redis:7.0command:- redis-server- --requirepass 123456- --bind * -::*- --masterauth 123456- --replicaof redis1 6379depends_on:- redis1redis3:container_name: redis3image: redis:7.0command:- redis-server- --requirepass 123456- --bind * -::*- --masterauth 123456- --replicaof redis1 6379depends_on:- redis1进入窗口控制台docker exec -it redis1 bash 控制台内部操作 root1c0cccc0d756:/data# redis-cli
127.0.0.1:6379 AUTH 123456
OK
127.0.0.1:6379 INFO replication
# Replication
role:master
connected_slaves:2
slave0:ip172.18.0.3,port6379,stateonline,offset1694,lag0
slave1:ip172.18.0.4,port6379,stateonline,offset1694,lag0
master_failover_state:no-failover
master_replid:0158f9bf36c9db3b95829e29139fa71b1ecd2b84
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1694
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:16944. 注意
主从复制是异步的从节点可能会有一定的延迟。如果主节点故障可以将一个从节点提升为主节点继续提供服务。但在进行主从切换时需要考虑数据一致性和可能丢失的写操作。