您的位置:首页 > 数据库 > Redis

redis主从配置

2016-02-28 23:19 531 查看
两台服务器: master (192.168.0.196) 和 slave (192.168.31.102)

分别按照之前介绍的步骤安装好redis并启动

master 配置文件不用动

slave 配置文件上加一行

slaveof 192.168.31.105 6379

masterauth passwd //如果主上设置了密码,要加这行

分别启动master和slave

从redis的配置文件
[root@slave ~]# vim /usr/local/redis/etc/redis.conf
daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
slaveof 192.168.0.196 6379
masterauth caimz



查看从redis的log日志
[root@slave ~]# tail /usr/local/redis/var/redis.log
[4760] 28 Feb 18:41:13.358 * Full resync from master: be15a09aa9c862e88b19b2ca8177dbe24db12bac:1
[4760] 28 Feb 18:41:13.438 * MASTER <-> SLAVE sync: receiving 118 bytes from master
[4760] 28 Feb 18:41:13.438 * MASTER <-> SLAVE sync: Flushing old data
[4760] 28 Feb 18:41:13.438 * MASTER <-> SLAVE sync: Loading DB in memory
[4760] 28 Feb 18:41:13.439 * MASTER <-> SLAVE sync: Finished with success
[4760] 28 Feb 18:41:16.217 - Accepted 127.0.0.1:56003
[4760] 28 Feb 18:41:18.403 - DB 0: 8 keys (0 volatile) in 8 slots HT.
[4760] 28 Feb 18:41:18.403 - 2 clients connected (0 slaves), 487504 bytes in use
[4760] 28 Feb 18:41:23.458 - DB 0: 8 keys (0 volatile) in 8 slots HT.
[4760] 28 Feb 18:41:23.458 - 2 clients connected (0 slaves), 487512 bytes in use
[root@slave ~]#

红色部分就可以判断是主从同步了。
测试主从同步:

主:新建一个参数。
[root@master ~]# /usr/local/redis/bin/redis-cli -a caimz
127.0.0.1:6379> set nanjing KO
OK
127.0.0.1:6379> get nanjing
"KO"

从:登陆查看
[root@slave ~]# /usr/local/redis/bin/redis-cli -a caimz
127.0.0.1:6379> get nanjing
"KO"#此时和主的数值一致。

查看库里所有的key对应的value

主:
127.0.0.1:6379> keys *
1) "nanjing"
2) "key1"
3) "leco"
4) "key3"
5) "caiting"
6) "zmj"
7) "key2"
8) "key"
9) "k1"

从:
127.0.0.1:6379> keys *
1) "key2"
2) "k1"
3) "key"
4) "leco"
5) "caiting"
6) "nanjing"
7) "key1"
8) "zmj"
9) "key3"
主从对应一样.同步。
主:
127.0.0.1:6379> sadd set1 111
(integer) 1
127.0.0.1:6379> sadd set1 22
(integer) 1
127.0.0.1:6379> sadd set1 333
(integer) 1
从:
127.0.0.1:6379> keys *
1) "set1"
2) "key2"
3) "k1"
4) "key"
5) "leco"
6) "caiting"
7) "nanjing"
8) "key1"
9) "zmj"
10) "key3"
127.0.0.1:6379> smembers set1
1) "22"
2) "111"
3) "333"
#就是主上设置的参数
slave-read-only yes //让从只读

repl-ping-slave-period 10 //设置slave向master发起ping的频率,每10s发起一次

repl-timeout 60 //设置slave ping不通master多少s后就超时

repl-disable-tcp-nodelay no //是否开启tcp_nodelay,开启后将会使用更少的带宽,但会有延迟,所以建议关闭

repl-backlog-size 1mb //同步队列的长度,backuplog是master的一个缓冲区,主从断开后,master会先把数据写到缓冲区,slave再次连接会从缓冲区中同步数据

repl-backlog-ttl 3600 //主从断开后,缓冲区的有效期,默认1小时

slave-priority 100 //多个slave是可以设置优先级的,数值越小优先级越高,应用于集群中,支持slave切换为master,优先级最高的才会切换

min-slaves-to-write 3 //和下面的一起使用,它的意思是master发现有超过3个slave的延迟高于10s,那么master就会暂时停止写操作。这两个数值任何一个为0,则关闭该功能,默认第一数值是0。

min-slaves-max-lag 10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: