在redis中,配置master和slave关系,一方面是在高并发时,可以读写分离减轻读写的压力;另一方面是,slave服务器可以复制master服务器的数据,避免数据丢失
- 此配置是windows环境,测试配置时主从服务器都在本地
- 有两种配置方式
- 首先,复制一个redis,当做从库
1. 客户端中配置主从关系
- 打开从库的文件夹,在redis.windows.conf中,搜索port,将port从6379改为6380
- 分别到相应目录下启动主库服务器和从库服务器(cmd:
redis-server.exe redis.windows.conf
) - 启动从库客户端(cmd:
redis-cli.exe -p 6380
),cmd继续输入slaveof 127.0.0.1 6379
,此时显示ok则表示配置成功 - 启动主库客户端(cmd:
redis-cli.exe -p 6379
),向库中随意插入数据,如:hset info user name
- 切到从库,输入
hget info user
,此时可以看到获取到了"name"。 - 如果在从客户端中输入
slaveof no one
的话,从库将不再从主库中更新数据,但是会保存之前的数据,除非此从库被任命为其他主库的从库,即使用slaveof ip port
从属于其他主库上
2. 永久配置主从关系
- 在redis.windows.conf中搜索slaveof
- 将
# slaveof <masterip> <masterport>
改为slaveof 127.0.0.1 6379
- 然后模仿第一种配置方式测试
- 每次redis服务重启时,会自动同步主库数据,也可以试试从库中添加一条数据,看看能不能成功
网友评论