Redis的主从复制配置教程

1.主从复制的概述:

1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。

2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。

2.主从复制的过程

1:当一个从数据库启动时,会向主数据库发送sync命令,

2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。(尽量使用内网实现整体通讯,会减少数据同步的延迟)

4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

 

3.创建两台Linux服务器,

Linux安装Redis可以参考 Linux环境下Redis的安装,如果虚拟机是通过克隆出来的,请一定要重新生成mac地址

4.配置两台服务器中的redis

我的两台服务器地址分别为 192.168.59.134 以及192.168.59.135,我使用134服务器为redis的主服务器,135为从服务器。

我已经将Redis的密码都改为了123456

5.配置redis的守护进程

在主服务器以及从服务器中都配置redis作为守护进程运行,因为默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把配置文件里daemonize改成 yes

使用命令进入redis的配置文件,这里去修改的文件路径,需要安装自己安装Redis的路径去查询修改

vi /etv/redis.conf

进入该文件后将daemonize改成 yes,切记在主服务器以及从服务器中都需要修改。

6.在从服务器中配置主服务器

在从服务器中找到配置主服务器的IP、端口以及密码的位置修改

将上面的标注出改为自己的主服务器的IP以及redis的端口、密码。

7.重启主、从Redis


# 启动redis服务
service redis start
# 停止redis
service redis stop
# 查看redis的运行状态
service redis status

 

8.测试

登录主服务器,创建一个键为name,值为helloword的数据,

[root@localhost ~]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set name helloword
OK

登录从服务器,使用键name,获取到了主服务设置的数据,说明从服务器已经同步了主服务器的数据 

[root@localhost ~]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> get name
"helloword"

分别使用info命令查看主服务器以及从服务器的信息

主服务器,从信息中可以看到该主服务器有一个从属服务器92.168.59.135

127.0.0.1:6379> info
# Server
redis_version:3.2.12
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:7897e7d0e13773f
redis_mode:standalone
os:Linux 3.10.0-957.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.5
process_id:6859
run_id:23b87ed1079475d8063b49ffe8bb7bbbe93098ef
tcp_port:6379
uptime_in_seconds:1600
uptime_in_days:0
hz:10
lru_clock:5137386
executable:/usr/bin/redis-server
config_file:/etc/redis.conf

# Replication
role:master
connected_slaves:1
slave0:ip=192.168.59.135,port=6379,state=online,offset=1329,lag=0
master_repl_offset:1329
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:1328

从服务器,从数据中可以发现该从服务器有一个主服务器192.168.59.134

127.0.0.1:6379> info
# Server
redis_version:3.2.12
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:7897e7d0e13773f
redis_mode:standalone
os:Linux 3.10.0-957.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.5
process_id:7306
run_id:729f0a21441ec56bcfdf69db3267f786f67988ba
tcp_port:6379
uptime_in_seconds:764
uptime_in_days:0
hz:10
lru_clock:5137293
executable:/usr/bin/redis-server
config_file:/etc/redis.conf

# Replication
role:slave
master_host:192.168.59.134
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:1203
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

如果需要配置一主多从,只要在多个从服务器中配置主服务器的的IP、端口、密码即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值