zoukankan      html  css  js  c++  java
  • Redis-cluster集群【第三篇】:redis主从

    Redis主从复制原理:

    通过把这个RDB文件或AOF文件传给slave服务器,slave服务器重新加载RDB文件,来实现复制的功能!

    复制的话:主服务器可以有多个从服务器!!!  不仅这样从服务器还可以有从服务器,可以做成星状的结构!
    复制的话也不会阻塞进程,同样fork一个子进程来做!
     
    复制的原理:
    当建立一个从服务器后,从服务器会想主服务器发送一个SYNC的命令,主服务器接收到SYNC命令之后会执行BGSAVE
    然后保存到RDB文件,然后发送到从服务器!收到RDB文件然后就载入到内存!
     
    最早不支持增量,到2.8之后就支持增量了!

    Redis主从配置:

    配置非常简单:
    我要把:192.168.0.201  6380 作为192.168.0.201 6379的从就一条命令
    92.168.0.201:6380> slaveof 192.168.0.201 6379
    OK
    
    然后使用INFO查看下:
    # Replication
    role:slave
    master_host:192.168.0.201
    master_port:6379
    master_link_status:up
    master_last_io_seconds_ago:7
    master_sync_in_progress:0
    slave_repl_offset:85
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
    
    然后在到主的上面看下:
    15:38 [root@server.tianshuai.com]$ redis-cli -h 192.168.0.201 -p 6379
    192.168.0.201:6379> INFO
    
    
    # Replication
    role:master
    connected_slaves:1
    slave0:ip=192.168.0.201,port=6380,state=online,offset=183,lag=1    #
    master_repl_offset:183
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:2
    repl_backlog_histlen:182
    
    
    从2.61 的时候!从是仅读的
    192.168.0.201:6380> SET key1 2
    (error) READONLY You can't write against a read only slave.
    192.168.0.201:6380>
    ##现实工作场景中,写和读是1:10的吗,我们就可以,设置多1个主多个从这样,进行读写分离!
  • 相关阅读:
    记录使用cx_Freeze打包Python成exe可执行程序
    jquery plug-in DataTable API中文文档参考
    java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/xxx/lib/arm/liblame.so: has text relocations
    CocoaPods的安装及使用
    Android 贝塞尔曲线的浅析
    GUI学习中错误Exception in thread "main" java.lang.NullPointerException
    线程
    12月13日
    今天开始学习java编程
    UVA10140 Prime Distance
  • 原文地址:https://www.cnblogs.com/luotianshuai/p/4969522.html
Copyright © 2011-2022 走看看