最新消息:

Redis主从配置及主从切换

PHP forexward 31浏览 0评论

127.0.0.1 6379 主

127.0.0.1 6380 从

127.0.0.1 6381 从

1、在redis目录下建立conf文件夹,存主从的redis.conf配置文件

建立三个文件:redis_6379.conf、redis_6380.conf、redis_6381.conf

2、在redis目录下建立dump文件夹,存本地数据库文件

redis启动的时候会自动生成这六个文件(前提是开启rdb和aof文件持久化):appendonly_6379.aof、appendonly_6380.aof、appendonly_6381.aof、redis_6379.rdb、redis_6380.rdb、redis_6381.rdb

3、主redis_6379.conf文件内容:

daemonize yes

pidfile /var/run/redis_6379.pid

port 6379

tcp-keepalive 0

loglevel notice

logfile /usr/soft/redis/logs/redis_6379.log

save 900 1

save 300 10

save 60 10000

dbfilename redis_6379.rdb

dir /usr/soft/redis/dump/

appendonly yes

appendfilename “appendonly_6379.aof”

# appendfsync always

appendfsync everysec

# appendfsync no

4、从redis_6380.conf配置文件内容:

daemonize yes

pidfile /var/run/redis_6380.pid

port 6380

tcp-keepalive 0

loglevel notice

logfile /usr/soft/redis/logs/redis_6380.log

save 900 1

save 300 10

save 60 10000

# The filename where to dump the DB

dbfilename redis_6380.rdb

dir /usr/soft/redis/dump/

slaveof 127.0.0.1 6379

slave-read-only no

appendonly yes

appendfilename “appendonly_6380.aof”

# appendfsync always

appendfsync everysec

# appendfsync no

从6381的配置与从6380一样,唯一需要注意的是修改端口、路径、备份文件名等。

四、启动redis

1、启动主redis:redis-server ./redis_6379.conf。在conf目录下执行,如果在其它目录下运行,需要指定redis_6379.conf的详细路径

2、启动从redis:redis-server ./redis_6380.conf。

2、启动从redis:redis-server ./redis_6381.conf。

启动完后redis服务会在后台运行

五、查看是否正常启动

执行:ps -ef|grep redis

Redis主从配置及主从切换

六、测试主从是否配置正确

因为我们配置的在主redis中添加,会自动同步到从的redis库中,但是在从库执行添加数据确不会被同步到主库中。

在主库中添加set a a

Redis主从配置及主从切换

在从库中查看发现key为a的数据已经同步过来了。

Redis主从配置及主从切换

七、主从切换

1、停止主redis

[[email protected] redis-2.8.3]# src/redis-cli -n 6379 shutdown

[[email protected] redis-2.8.3]# src/redis-cli -p 6379

Could not connect to Redis at 127.0.0.1:6379: Connection refused

not connected>

2、将从redis设成主redis

[[email protected] redis-2.8.3]# src/redis-cli -p 6380 slaveof NO ONE

OK

3、测试从redis是否切换成主redis

[[email protected] redis-2.8.3]# src/redis-cli -p 6380

127.0.0.1:6380> set name 123

OK

127.0.0.1:6380> get name

“123”

127.0.0.1:6380>

4、原来的主redis恢复正常了,要重新切换回去

1)将现在的主redis的数据进行保存

[[email protected] redis-2.8.3]# src/redis-cli -p 6380

127.0.0.1:6380> get name

“abc”

127.0.0.1:6380> set name 123

OK

127.0.0.1:6380> get name

“123”

127.0.0.1:6380> save

OK

127.0.0.1:6380> get name

“123”

127.0.0.1:6380>

2)将现在的主redis根目录下dump.rdb文件拷贝覆盖到原来主redis的根目录

3)启动原来的主redis

[[email protected] redis-2.8.3]# src/redis-server /soft/redis-2.8.3-master/redis-2.8.3/redis.conf

4)在现在的主redis中切换

[[email protected] redis-2.8.3]# src/redis-cli -p 6380 slaveof 192.168.10.1 6379

OK

转载请注明:PHP学习 » Redis主从配置及主从切换

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址