redis主从复制

1.redis3.0安装

         1.1 环境安装

                   yum -y install cpp binutils glibcglibc-kernheaders glibc-common glibc-devel gcc makegcc-c++ libstdc++-devel tcl

         1.2安装redis

                   mkdir -p /usr/local/src/redis

                            cd/usr/local/src/redis

                            wget http://download.redis.io/releases/redis-3.0.2.tar.gz或者rz 上传

                            tar -xvf redis-3.0.2.tar.gz

                            cdredis-3.0.2

                            make

                            maketest #这个就不要执行了,需要很长时间

                            makeinstall

                           

                            cpredis.conf /etc/

                            vi/etc/redis.conf

                            #修改如下,默认为no

                            daemonizeyes

                            (

                                          配置redis作为守护进程运行
                                          # 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把配置文件里daemonize改成 yes。
                                          # 当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。

                            )

              1.3启动

                            redis-server /etc/redis.conf

              1.4测试

                            redis-cli

 

2.主从复制

      主从复制的优点:

                   1.避免了redis的单点故障。

                            2.构建读写分离框架时,可以满足读多写少的应用场景。

         2.1主从架构

                   redis主从复制_第1张图片

         2.2 启动实例

         2.2.1

                   新建一个redis目录,用于新建3个目录,分别为6379,6380,6381。分别将安装目录下的redis.conf拷贝到这三个目录下

                                   redis主从复制_第2张图片

                   (这里的6382是为后面的主从从架构做准备)

                    复制目录时,可以整体复制,例如将6379整体复制到6380  cp 6379/ 6380 –R

                            分别进入这三个目录,分别修改配置文件,将端口分别设置为:6379Master)、6380Slave)、6381Slave)。同时要设置pidfile               件为不同的路径。(:%s/6379/6380/g,替换)

                    2.2.2

                                          分别启动三个redis实例:

                                          cd 6379 && redis-server ./redis.conf&& cd ..

                                         cd6380 && redis-server ./redis.conf && cd ..

                                         cd 6381 && redis-server./redis.conf && cd ..

                                          redis主从复制_第3张图片

                    2.2.3 设置主从关联

                            在redis中设置主从有2种方式:

                                          1.在redis.conf中设置slaveof

                                                        slaveof

                                          2.使用redis-cli客户端连接到redis服务,执行slaveof命令

                                                        slaveof

                                          第二种方式在重启后将失去主从复制关系。

                                          查看主从信息:INFO replication

                                          主:

                                                  redis主从复制_第4张图片

                                          role:角色

                                          connected_slaves:从库数量

                                          slave0:从库信息

                                                  切换主从库   redis-cli -p xxx(端口号)

                                           从:

                                                   redis主从复制_第5张图片        

                                  2.2.4 测试

                                                1.在主库写入数据

                                                              redis主从复制_第6张图片

                                                2.从库读数据

                                                              redis主从复制_第7张图片

3.主从从架构

        注意:刚开始配置好了主从关系后,调试正确后,如果要配置主从从,则需要将6379,6380等目录里面的dump.rdb文件删除。

        3.1 架构图

              redis主从复制_第8张图片

        3.2 启动实例

                            在这里复制目录6382,修改配置文件redis.conf,配置主从,这里用到了6379(master),6380(slave),6382(slave),请注意, 6381是6379的从库,而6382是6381的从库,也就是在配置6382的主从关系时,这样配置slaveof 127.0.0.1 6381

                                    redis主从复制_第9张图片

                                                        设置主从:

                                                             redis主从复制_第10张图片

                                                        设置从从:

                                                            redis主从复制_第11张图片

                   3.3测试

                            在主库6379设置数据

                                     redis主从复制_第12张图片

                            在从库6381读数据

                                     redis主从复制_第13张图片

                            在从库6382读数据

                                     redis主从复制_第14张图片

                   3.4从库只读

                            默认情况下,从库是只读的。

                                    

                         

                      在这里,先将主从以及主从从配好,至于redis集群,后面抽时间在写,大家做个参考,一起学习下。

 

你可能感兴趣的:(redis)