redis主从复制过程:当配置好slave后,slave与master建立连接,然后发送sync命令。无论是第一次连接还是重新连接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。后台进程完成写文件后,master就发送文件给slave,slave将文件保存到硬盘上,再加载到内存中,接着master就会把缓存的命令转发给slave,后续master将收到的写命令发送给slave。如果master同时收到多个slave发来的同步连接命令,master只会启动一个进程来写数据库镜像,然后发送给所有的slave。
单机上配置实例:
master localhost 6379
slave1 localhost 6378
slave2 localhost 6377
配置:
在2个slave的配置文件中 添加slaveof localhost 6379
分别启动 master slave1 slave2
使用info命令查看各服务器信息
redis 127.0.0.1:6379> info
redis_version:2.4.5
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:32
multiplexing_api:winsock2
process_id:968
uptime_in_seconds:513
uptime_in_days:0
lru_clock:1957753
used_cpu_sys:0.23
used_cpu_user:0.08
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:2 slave的数目
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:696660
used_memory_human:680.33K
used_memory_rss:696660
used_memory_peak:696628
used_memory_peak_human:680.30K
mem_fragmentation_ratio:1.00
mem_allocator:libc
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1340783219
bgrewriteaof_in_progress:0
total_connections_received:121
total_commands_processed:5
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master 说明该服务器为master
redis 127.0.0.1:6378> info
redis_version:2.4.5
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:32
multiplexing_api:winsock2
process_id:7056
uptime_in_seconds:543
uptime_in_days:0
lru_clock:1957789
used_cpu_sys:0.02
used_cpu_user:0.03
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:2
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:688592
used_memory_human:672.45K
used_memory_rss:688592
used_memory_peak:688560
used_memory_peak_human:672.42K
mem_fragmentation_ratio:1.00
mem_allocator:libc
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1340783116
bgrewriteaof_in_progress:0
total_connections_received:1
total_commands_processed:55
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:slave
master_host:localhost
master_port:6379
master_link_status:up up说明连接master良好,down则是连接失败
master_last_io_seconds_ago:1
master_sync_in_progress:0
测试:
redis 127.0.0.1:6379> set name wilian
OK
redis 127.0.0.1:6379> get name
"wilian"
redis 127.0.0.1:6378> get name
"wilian"
redis 127.0.0.1:6377> get name
"wilian"
同步成功!
分享到:
相关推荐
Redis主从复制和集群配置说明
Redis主从复制以及主从复制技术原理.docx
描述redis主从复制的过程中的各种细节,包括各个阶段所使用的事件处理函数
实现了redis主从复制(读写分离)集群
redis主从复制(csdn)————程序
基于北京尚硅谷周阳老师讲解的redis。个人学习总结: 包含redis常用命令,redis配置文件,redis持久化,redis事务,redis主从复制,jedis的使用。
1.使用 DICT 协议添加一条测试记录 2.设置保存路径 3.设置保存文件名 4.保存 1.连接远程主服务器 2.设置保存路径 3.设置保存文件名 4.保存
windows下redis主从复制。一个master,两个slave。附带博客介绍https://blog.csdn.net/xixiyuguang/article/details/105121660
1、生成恶意.so文件,下载RedisModules-ExecuteCommand使用make编译即可生成 1、监听本地1234端口 2、将Redis服务器设置
公司运维手册,LAMP架构+Redis主从复制,废话不多说,上干货!
Redis 主从复制1
Redis主从复制(一主两从)+哨兵配置手册 Redis主从复制(一主两从)+哨兵配置手册 Redis主从复制(一主两从)+哨兵配置手册
Redis集群-Redis安装、Redis主从复制、哨兵、Redis集群
redis主从复制过程.rar
redis服务配置,配置redis主从复制,多个哨兵监控redis主服务,自动切换服务
NoSQL之Redis主从复制集群部署.pdf