redis读写分离的安装

安装tcl

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar -xzvf tcl8.6.1-src.tar.gz
cd  /usr/local/tcl8.6.1/unix/
./configure  
make && make install

安装redis

redis的版本是3.2.8

tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8
make && make test && make install
  1. redis utils目录下,有个redis_init_script脚本
  2. 将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号
  3. 修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)
  4. 创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
  5. 修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf

修改redis.conf

daemonize    yes                            让redis以daemon进程运行
pidfile        /var/run/redis_6379.pid     设置redis的pid文件位置
port        6379                        设置redis的监听端口号
dir         /var/redis/6379                设置持久化文件的存储位置

让redis跟随系统启动自动启动

在redis_6379脚本中,最上面,加入两行注释

# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database

开机启动

1
chkconfig redis_6379 on

在slave node上配置:slaveof 192.168.1.1 6379,即可

也可以使用slaveof命令

强制读写分离

基于主从复制架构,实现读写分离

redis slave node只读,默认开启,slave-read-only

开启了只读的redis slave node,会拒绝所有的写操作,这样可以强制搭建成读写分离的架构

集群安全认证

master上启用安全认证,requirepass
master连接口令,masterauth

读写分离架构的测试

先启动主节点,再启动从节点

访问控制

修改bind

bind 127.0.0.1是本地的开发调试的模式,就只能127.0.0.1本地才能访问到6379的端口.

每个redis.conf中的bind 127.0.0.1是ind自己的ip地址

在每个节点上都: iptables -A INPUT -ptcp --dport 6379 -j ACCEPT

redis-cli -h ipaddr
info replication

完成读写分离架构的搭建之后,可以实现,在主节点上写,在从节点上读