zoukankan      html  css  js  c++  java
  • redis学习四 复制

    1,单机创建多实例

    一个redis服务器安装多个redis实例,每个实例对应一个端口。默认端口是6379.
    将redis.conf配置文件复制一份到另外一个文件夹下,然后修改其中的信息即可。
     
    pidfile : pidfile/var/run/redis/redis_6380.pid
    port 6380
    logfile : logfile/var/log/redis/redis_6380.log
    rdbfile : dbfilename dump_6380.rdb
     
    然后启动的时候,指定好对应的配置文件即可
    #redis-server/usr/local/redis/redis6380.conf
    #redis-server/usr/local/redis/redis6381.conf
    启动了之后用ps -ef|grep redis 即可看到多个实例启动了
    进入某一个实例,使用命令
    redis-cli -p 6380即可。
     

    2,复制

         复制可以让从服务器拥有和主服务器一样的数据副本,作用之一就是可以让读写分离,让从服务器去处理读请求,主服务器主要处理写请求。提到效率。redis把这样的事情做的非常简单。

         从服务器设置

         两种方法可以让一个redis实例变成一个从服务器,第一种就是在redis.conf文件中配置好 slaveof host port信息,使用这个配置文件启动的redis实例就是这个host的这个port对应的那个实例的从服务器了。第二种更简单,正常启动redis实例,启动后,在使用过程也好,已启动就执行也好,执行下slaveof host port命令,即可直接成为别人的从服务器,执行了之后,从redis的原先的数据就全部删除掉,然后将主redis的数据同步过来。下图展示了从redis链接主redis的时候发生的事情。
     
    由上图可以看出,主redis在复制期间也会处理客户端的请求,因为是使用的bgsave,这个时候,如果主从之间网络带宽不足或者主redis的内存太少,还是会比较影像主redis的使用效率的。因此,在实际只用中,最好让主redis只使用50-60%的内存,留下点内存去做其他的事情。
     
         一个主redis如果有太多的从redis的话,网络带宽不一定受得了,还好redis支持主从链的方式,即从redis也可以有从redis。主从,从从复制的时候有个区别,如果从x有从y,那么在从x解析从主redis拿过来的快照的时候,将断开于从y的连接,导致y需要重新连接并同步。
     

       主从切换

         手动更换主rdis,比如,redis A B C ,A是主,其他两个是从,由于redis支持直接使用命令来切断主从关系:slaveof no one。那么如果这个时候A 挂了,需要吧B换成主redis,就在B上执行slaveof no one 然后在C上执行slaveof no one ,slaveof B.host B.port 因为在A挂之前他们的数据都是同步的(基本同步),所以直接将一个从redis换成主的就可以直接使用了,然后更改下redis客户端的链接配置信息,即可使用。
         redis也有自动去完成主从切换的功能,等看书看到了更新下。
  • 相关阅读:
    (LeetCode 141/142)Linked List Cycle
    (算法)随机播放歌曲
    (数组)数组排序,使所有奇数在左边,所有偶数在右边
    遗失的乔布斯访谈(文字版)
    幻想·梦想·理想
    立刻辞职,时不我待
    彩票漏洞让你快速致富
    剪刀石头布常胜秘笈
    9个心理学研究,让你学习更高效
    石头剪刀布手套:不止是寂寞宅的消遣
  • 原文地址:https://www.cnblogs.com/liouwei4083/p/6052186.html
Copyright © 2011-2022 走看看