主从复制配置
应用示例:
这里我们假设Master-Slave已经建立。
#启动master服务器。
[root@Stephen-PC redis]# redis-cli -p 6379
redis 127.0.0.1:6379>
#情况Master当前数据库中的所有Keys。
redis 127.0.0.1:6379> flushdb
OK
#在Master中创建新的Keys作为测试数据。
redis 127.0.0.1:6379> set mykey hello
OK
redis 127.0.0.1:6379> set mykey2 world
OK
#查看Master中存在哪些Keys。
redis 127.0.0.1:6379> keys *
1) "mykey"
2) "mykey2"
#启动slave服务器。
[root@Stephen-PC redis]# redis-cli -p 6380
#查看Slave中的Keys是否和Master中一致,从结果看,他们是相等的。
redis 127.0.0.1:6380> keys *
1) "mykey"
2) "mykey2"
#在Master中删除其中一个测试Key,并查看删除后的结果。
redis 127.0.0.1:6379> del mykey2
(integer) 1
redis 127.0.0.1:6379> keys *
1) "mykey"
#在Slave中查看是否mykey2也已经在Slave中被删除。
redis 127.0.0.1:6380> keys *
1) "mykey"
redis主从复制配置:
环境:Linux一台(192.168.6.205)、redis端口分别为6379、6370
安装好redis之后我的测试目录是这样的:
|
1
2
3
4
|
[root@web01 redis]# pwd/usr/local/redis[root@web01 redis]# lsmaster master-redis-2.8.1 slave slave-redis-2.8.1 |
|
1
2
3
4
|
[root@web01 bin]# pwd/usr/local/redis/master/bin[root@web01 bin]# lsdump.rdb mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server |
|
1
2
3
4
|
[root@web01 etc]# pwd/usr/local/redis/master/etc[root@web01 etc]# lsmaster-redis.conf |
|
1
2
3
4
|
[root@web01 bin]# pwd/usr/local/redis/slave/bin[root@web01 bin]# lsdump.rdb mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server |
|
1
2
3
4
|
[root@web01 etc]# pwd/usr/local/redis/slave/etc[root@web01 etc]# lsslave-redis.conf |
|
1
2
3
4
|
[root@web01 redis]# pwd/usr/local/bin/redis[root@web01 redis]# lsmaster slave |
|
1
2
3
4
|
[root@web01 master]# cd /usr/local/redis/slave/etc/[root@web01 etc]# vi slave-redis.conf# slaveof <masterip> <masterport>slaveof 192.168.6.205 6379 |
启动master:
|
1
2
3
4
|
[root@web01 etc]# ps -ef |grep redisroot 6830 5985 0 13:54 pts/2 00:00:00 grepredis[root@web01 bin]# cd /usr/local/redis/master/bin/[root@web01 bin]# ./redis-server /usr/local/redis/master/etc/master-redis.conf |
|
1
2
3
4
5
6
|
[root@web01 bin]# ./redis-cli127.0.0.1:6379> keys *1) "aaaaaaaaaaa"2) "security"3) "mm"4) "a" |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
127.0.0.1:6379> info...config_file:/usr/local/redis/master/etc/master-redis.conf# Clientsconnected_clients:1client_longest_output_list:0client_biggest_input_buf:0blocked_clients:0# Replicationrole:masterconnected_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0 |
启动slave:
|
1
2
|
[root@web01 bin]# cd /usr/local/redis/slave/bin/[root@web01 bin]# ./redis-server /usr/local/redis/slave/etc/slave-redis.conf |
|
1
2
3
4
5
6
|
[root@web01 bin]# ./redis-cli -p 6370127.0.0.1:6370> keys *1) "mm"2) "a"3) "security"4) "aaaaaaaaaaa" |
./redis-cli 该客户端默认连接的端口号为6379,可以通过-p指定端口,-h指定主机。
查看进程可以看到已经有两个redis服务在运行
|
1
2
3
4
|
[root@web01 bin]# ps -ef |grep redisroot 6835 1 0 13:56 ? 00:00:00 ./redis-server*:6379 root 6866 1 0 14:01 ? 00:00:00 ./redis-server*:6370 root 6895 4071 0 14:05 pts/1 00:00:00 grepredis |
查看slave连接信息:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
127.0.0.1:6370> info...config_file:/usr/local/redis/slave/etc/slave-redis.conf...# Replicationrole:slavemaster_host:192.168.6.205master_port:6379master_link_status:upmaster_last_io_seconds_ago:3master_sync_in_progress:0slave_repl_offset:463slave_priority:100slave_read_only:1connected_slaves:0master_repl_offset:0repl_backlog_active:0repl_backlog_size:1048576repl_backlog_first_byte_offset:0repl_backlog_histlen:0 |

浙公网安备 33010602011771号