1 主从概念
master和slave都是一个Redis实例
一个master可以拥有多个slave, 一个slave又可以拥有多个slave,
如此下去, 形成了强大的多级服务器集群架构
master用来写数据, slave用来读数据
通过主从配置可以实现读写分离 与 数据备份
2 ubuntu下的主从配置
(1) 配置主
- 修改/etc/redis/redis.conf文件
- 重启redis服务
sudo service redis stop sudo redis-server redis.conf
(2) 配置从
- 复制/etc/redis/redis.conf文件
sudo cp redis.conf ./slave.conf
修改redis/slave.conf文件
sudo vi slave.conf
编辑内容
port 6380 slaveof 192.168.3.67 6379
- redis服务
先把之前的redis进程杀掉, 然后重新启动
sudo redis-server redis.conf sudo redis-server slave.conf
查看主从关系
redis-cli -h 192.168.3.67 info Replication
3 windows下的主从配置
2 为redis.windows.conf添加bind
bind 127.0.0.1 192.168.3.177
注: 明确bind的含义
bind是限制只有此IP可以连接到该redis,其他IP会connect refused
机器上有两个网卡,分别为192.168.205.5 和192.168.205.6,
如果bind 192.168.205.5,那么只有该网卡地址接受外部请求,
如果不绑定,则两个网卡口都接受请求
redis.windows.conf中,
bind 127.0.0.1
意味着redis服务器只接受本机连接
bind 192.168.3.177
意味着redis服务器使用该ip来接受内网其它主机的连接
bind 39.128.151.163
意味着redis服务器使用该ip来接受外网其它主机的连接
3 把此文件夹拷贝二份, 总共三份,分别命名
master_6379, slave_6380, slave_6381
1) master_6379 不做更改
2)slave_6380文件夹中redis.windows.conf文件配置
port 6380
slaveof 192.168.3.177 6379
3)slave_6381文件夹中redis.windows.conf文件配置
port 6381
slaveof 192.168.3.177 6379
3 若要启动主从, 需要分别开启三个redis-server, 再开启三个redis-cli
4 编写6个bat来快捷启动redis服务器和客户端
cd master_6379
redis-cli -p 6379
cd master_6379
redis-server.exe redis.windows.conf
4 测试
- 进入连接主Redis服务端的客户端
- 进入连接从Redis服务端的客户端
重新开一个终端
- 在接连主的客户端中添加
- 在连接从的客户端中可以读取
但连接从的客户端中不能写