Redis部署读写分离架构
1 | 一主一从,往主节点去写,在从节点去读,可以读到,就代表主从架构搭建成功 |
1.启用复制,部署slave node
1 | wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz |
(1).redis utils目录下,有个redis_init_script脚本
1 | [root@matrix-cache01 ~]# cd redis-3.2.8/utils/ |

(2).将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
1 | [root@matrix-cache01 utils]# cp redis_init_script /etc/init.d |
(3).修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
1 | [root@matrix-cache01 init.d]# vi redis_6379 |

(4).创建两个目录
1 | /etc/redis(存放redis的配置文件) |
(5).修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf
1 | [root@matrix-cache01 ~]# mv redis-3.2.8/redis.conf /etc/redis/6379.conf |
(6).修改6379.conf中的部分配置为生产环境
1 | daemonize yes 让redis以daemon进程运行 |




(7).让redis跟随系统启动自动启动
1 | 在redis_6379脚本中,最上面,加入两行注释 |
1 | [root@matrix-cache02 ~]# cd /etc/init.d |

1 | [root@matrix-cache02 init.d]# chkconfig redis_6379 on |

2.强制读写分离
1 | 基于主从复制架构,实现读写分离 |
在master node上配置
1 | [root@matrix-cache01 ~]# vi /etc/redis/6379.conf |
在slave node上配置
1 | [root@matrix-cache02 ~]# vi /etc/redis/6379.conf |

3.集群安全认证(所有主从服务器都要设置)
master上启用安全认证
1 | [root@matrix-cache01 ~]# vi /etc/redis/6379.conf |
slave连接master的口令,主从数据库都要设置
1 | [root@matrix-cache01 ~]# vi /etc/redis/6379.conf |
4.读写分离架构的测试
先启动主节点
1 | [root@matrix-cache01 ~]# cd /etc/init.d |
启动从节点
1 | [root@matrix-cache02 ~]# cd /etc/init.d |
1 | [root@matrix-cache03 ~]# cd /etc/init.d |
4.1.在主节点上写数据,在从节点上读数据
主节点写数据
1 | [root@matrix-cache01 ~]# redis-cli -h 192.168.31.231 -a redis-pass |

从节点读数据
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -a redis-pass |

1 | [root@matrix-cache03 ~]# redis-cli -h 192.168.31.233 -a redis-pass |

关闭Redis
1 | [root@matrix-cache01 ~]# redis-cli -a redis-pass -h 192.168.31.231 SHUTDOWN |
注意
1 | bind 127.0.0.1 -> 本地的开发调试的模式,就只能127.0.0.1本地才能访问到6379的端口 |
5.Redus主从读写分离架构配置总结
在master node上配置
1 | [root@matrix-cache01 ~]# vi /etc/redis/6379.conf |

在slave node上配置
1 | [root@matrix-cache02 ~]# vi /etc/redis/6379.conf |

1 | [root@matrix-cache03 ~]# vi /etc/redis/6379.conf |

6.查看Redis主从信息
master
1 | [root@matrix-cache01 ~]# redis-cli -h 192.168.31.231 -a redis-pass |

slave
1 | [root@matrix-cache02 ~]# redis-cli -h 192.168.31.232 -a redis-pass |

1 | [root@matrix-cache03 ~]# redis-cli -h 192.168.31.233 -a redis-pass |

本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2017/06/12/Redis部署读写分离架构/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
知识 & 情怀 | 二者兼得