主从复制
说明:下面的配置是我在本地起了两个虚拟机 169.254.182.30(master)169.254.182.40(slave)
注意需要先安装好redis服务 redis安装->基础安装
# 配置 master 服务器
① 创建 8001 文件夹
cd /usr/local
mkdir redis-zc
cd redis-zc
mkdir 8001 # 8001 master 服务器的端口
1
2
3
4
2
3
4
② 复制并修改 redis.conf
# 复制 redis.conf 文件到 8001
cp /usr/local/redis/etc/redis.conf /usr/local/redis-zc/8001
# 修改 8001 的 redis.conf 文件如下
daemonize yes # 后台启动
bind 0.0.0.0 # 允许外部的所有机器都能访问
1
2
3
4
5
2
3
4
5
③ 启动redis服务器
# 启动 8001 主服务器
cd /usr/local/redis/bin
./redis-server /usr/local/redis-zc/8001/redis.conf
1
2
3
2
3
④ 登录客户端查看信息
./redis-cli -h 127.0.0.1 -p 8001
info # 查看信息
1
2
2
# 配置 slave 服务器
① 创建 8001 文件夹
cd /usr/local
mkdir redis-zc
cd redis-zc
mkdir 8001 # 8001 master 服务器的端口
1
2
3
4
2
3
4
② 复制并修改 redis.conf
# 复制 redis.conf 文件到 8001
cp /usr/local/redis/etc/redis.conf /usr/local/redis-zc/8001
# 修改 8001 的 redis.conf 文件如下
daemonize yes # 后台启动
bind 0.0.0.0 # 允许外部的所有机器都能访问
# 配置master 服务器的ip和端口,若没有这个关键字,自行添加
slaveof 主服务器的IP地址 主服务器的端口
1
2
3
4
5
6
7
2
3
4
5
6
7
③ 启动redis服务器
# 启动 8001 主服务器
cd /usr/local/redis/bin
./redis-server /usr/local/redis-zc/8001/redis.conf
1
2
3
2
3
④ 登录客户端查看信息
./redis-cli -h 127.0.0.1 -p 8001
info # 查看信息
1
2
2
由上图可见,当前服务器为从服务器,并且连接上了主服务器
登录主服务器客户端,查看info信息
可以看见,主服务器已经连接上从服务器
# 测试主写从读
① 在主服务器插入一条数据
# 登录master客户端
./redis-cli -h 127.0.0.1 -p 8001
set test 111
1
2
3
2
3
② 在从服务器看能否查出来
./redis-cli -h 127.0.0.1 -p 8001
get test
1
2
2
主服务器的读,是通过路由到从服务器读出来的
注意
注意: 如果主服务器死了那么当前主从就会宕机-单点问题 为了解决单点问题,redis 2.0 引入了哨兵模式
最近更新: 2025/07/30, 15:37:56