linux下redis主从配置

为什么要配置redis主从?如何配置redis主从?如何正确使用redis主从。

 

一、为什么要配置redis主从

redis在一般情况下读多写少,虽然写入比较快,但是读取的时候会有压力。所以往往需要多个只读的从库,一个负责写的主库。

具备一定的容灾机制,当某个主库挂掉之后,从库将等待主库重新上线(以前我一直以为从库会顶替主库工作,最近才发现那是哨兵模式而不是主从模式)。重新上线之后,又是完整的主从结构(但是有个问题,如果从库挂掉,将恢复成主库)。

二、如何配置redis主从

1.部署redis

linux下部署redis服务

2.配置redis主从配置文件

主从结构类似:

1

(1)生成主从库配置文件

(2)修改配置文件中以下项目:

主配置文件:

从配置文件:

注意这里的路径配置一定要存在,不然就会出现像这样的错误:

Can’t chdir to ‘/data/redis/6379/data’: No such file or directory…

最关键的一行配置其实就是slaveof 127.0.0.1 6379,才能建立主从关系。

如果主库有身份验证,那么需要配置:

3.使用不同配置文件启动redis服务

jobs就可以看见后台执行中的从库命令(不知道为什么主库的命令看不到,但是确实是启动了的),ps可以看到redis-server进程已经启动了。

1

4.测试主从配置

(1)info测试

src/redis-cli -h 地址 -p 端口 打开主库的链接,主库info:

1

从库info:

1

(2)读写测试

src/redis-cli -h 地址 -p 端口 打开主库的链接,测试读写:

1

可以看见主库的读写都是正常的。打开从库的链接,测试读写:

1

发现可读不可写。这是因为开启了slave-read-only的缘故。如果想要从库可读可写(一般从库都是在本地,理论上读写效果都更有保证),那就设置为no就可以了。

但是我个人不推荐这样做,详见:http://www.cnblogs.com/yjf512/p/3283293.html

三、如何正确使用redis主从

遵从主从数据库的原则:读写分离,主只写,从只读。避免出现混用的问题。

四、总结

下次尝试哨兵模式的配置。

感谢:http://blog.csdn.net/candy_rainbow/article/details/52826855

1. 主机一旦转成从机,主机之前的所有数据也将会被备份。
2. 如果主机与从机都写入,那么默认情况下从机写入失败。从机默认没有写入权限。
3. 如果主机shutdown,那么从机依然是slave,原地待命,连接状态变成down。此时如果主机重启,将恢复主从模式。
4. 如果从机shutdown,若再次重启,则从机变成master,断开连接。即slaver与master断开连接之后,除非使用配置文件进行配置,要不然需要重新连接。

发表评论

电子邮件地址不会被公开。 必填项已用*标注