码迷,mamicode.com
首页 > 其他好文 > 详细

Redis的replication

时间:2016-05-07 01:17:06      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:redis 复制 replication

环境: master:192.168.11.31

slave : 192.168.11.20:6379 与 6380

模拟两台slave同时对一台master进行复制。

mater 配置:
daemonize yes
pidfile /var/run/redis.pid
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
requirepass Passw0rd
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10


slave的配置,在slave上开启rdb与aof
slave 6379的配置:
daemonize yes
pidfile /var/run/redis_6379.pid
port 6379
dbfilename redis.db
dir /home/redis/6379
save 900 1
save 300 10
save 60 3000
rdbcompression yes
rdbchecksum yes
stop-writes-on-bgsave-error yes
appendonly yes
appendfilename appendonly.aof
#slave settings
slave-read-only yes
slaveof 192.168.11.31 6379
slave 6380配置:
daemonize yes
pidfile /var/run/redis_6380.pid
port 6380
dbfilename redis6380.db
dir /home/redis/6380
save 900 1
save 300 10
save 60 3000
rdbcompression yes
rdbchecksum yes
stop-writes-on-bgsave-error yes
appendonly yes
appendfilename appendonly6380.aof
#slave settings
slave-read-only yes
slaveof 192.168.11.31 6379


启动master:
[root@localhost redis]# redis-server redis.conf
启动slave:
[root@hdtest20 redis]# redis-server /etc/redis/6380.conf
[root@hdtest20 redis]# redis-server /etc/redis/6339.conf

登录mater后输入下面命令:
127.0.0.1:6379> auth Passw0rd
OK
127.0.0.1:6379> INFO replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.11.20,port=6380,state=online,offset=71,lag=1
slave1:ip=192.168.11.20,port=6379,state=online,offset=71,lag=1
master_repl_offset:71
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:70

上面基本上可以看出复制已经完成,输入两个key测试一下:
127.0.0.1:6379> set testsite test.com
OK
登录slave 6380端口的:
127.0.0.1:6380> keys *
1) "testsite"
127.0.0.1:6380> get testsite
"test.com"


注意:由于master没有开启rdb跟aof,所以在master失效修复后不能马上开启master,否则两台slave均失去所有数据。所以应该把redis master的aof跟rdb也开启,并同时把repl-diskless-sync设置为yes

本文出自 “技术博客” 博客,请务必保留此出处http://raytech.blog.51cto.com/7602157/1770902

Redis的replication

标签:redis 复制 replication

原文地址:http://raytech.blog.51cto.com/7602157/1770902

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!