redis主从复制
一.主从复制
3.1 master和slave配置(两者端口不同)
master主库mredis.conf
port 6380
pidfile /data/6380/redis.pid
loglevel notice
logfile "/data/6380/redis.log"
dbfilename dump.rdb
dir /data/6380 #dump.rdb文件存放的路径
protected-mode yes #打开保护模式
requirepass xxxxxx #设置redis启动密码,xxxx是自定义的密码
bind 192.168.191.129 #设置后局域网中其他电脑可访问
daemonize yes #以后台进程方式运行
slave从库1 s1redis.conf设置如下:
port 6381
daemonize yes
pidfile /data/6381/redis.pid
loglevel notice
logfile "/data/6381/redis.log"
dbfilename dump.rdb
dir /data/6381
slaveof 127.0.0.1 6380 #master主机地址
protected-mode yes #打开保护模式
bind 192.168.191.131 #绑定本机地址
masterauth xxxxxx #设置为master主机的redis密码
slave从库2 s2redis.conf设置如下:
port 6382
daemonize yes
pidfile /data/6382/redis.pid
loglevel notice
logfile "/data/6382/redis.log"
dbfilename dump.rdb
dir /data/6382
slaveof 127.0.0.1 6380 #master主机地址
protected-mode yes #打开保护模式
bind 192.168.191.132 #绑定本机地址
masterauth xxxxxx #设置为master主机的redis密码
3.2 主从验证
先启动三个数据库实例
[root@s24_linux myredis]# redis-server mredis.conf
[root@s24_linux myredis]# redis-server s1redis.conf
[root@s24_linux myredis]# redis-server s2redis.conf
分别查看三个redis数据库的信息
[root@s24_linux myredis]# redis-cli -p 6380 info replication
[root@s24_linux myredis]# redis-cli -p 6381 info replication
[root@s24_linux myredis]# redis-cli -p 6382 info replication
在master中添加键值对
set key2 k
slave中启动redis服务
redis-cli -p 6381 #此时登录的客户端连接的服务端还是slave中的
keys * #如果同步设置成功,这里可看到key2
二.redis实例
redis支持多实例用法,即一台电脑上可使用多个redis服务,每个实例端口不同
拷贝一份redis-6381.conf,添加如下内容
bind 10.0.0.10
port 6381
daemonize yes
pidfile /var/run/redis_6381.pid