zoukankan      html  css  js  c++  java
  • Redis学习笔记02--主从数据库配置

    1.创建公共配置文件

    所有配置文件添加到以下目录:

    /xxxx/redis-slave-master
    

    创建公共的redis配置文件,直接使用redis的默认配置文件,修改以下配置项:

    bind 127.0.0.1
    daemonize yes 后台启动
    requirepass 123456 登录密码
    

    2.创建master服务的配置文件


    /xxxx/redis-slave-master
    目录中创建redis-master.conf文件,并添加以下配置内容:

    ## 公共配置配置相关
    include /xxxx/redis-slave-master/redis-commom.conf
    
    ## 监听端口
    port 7001 
    ## 后台运行的时候生成的进程文件
    pidfile /var/run/redis7001.pid
    
    ## 日志文件路径和名称
    logfile "/xxxx/redis-slave-master/log/master"
    
    ## 持久化数据库文件
    dbfilename dump7001.rdb
    ## 数据库文件目录
    dir /xxxx/redis-slave-master/redis-dbfile
    

    3.添加slave的配置文件

    /xxxx/redis-slave-master
    

    目录下添加redis-slave1.conf配置文件

    配置内容为:

    ## 公共配置配置相关
    include /xxxx/redis-slave-master/redis-commom.conf
    
    port 7002
    pidfile /var/run/redis7002.pid
    
    logfile "/xxxx/redis-slave-master/log/slave1"
    
    dbfilename dump7002.rdb
    dir /xxxx/redis-slave-master/redis-dbfile
    ## slave-master相关配置
    slaveof 127.0.0.1 7001
    
    masterauth 123456
    
    slave-read-only yes
    

    4.启动master和slave服务

    切换到配置文件目录:

    cd /xxxx/redis-slave-master
    

    输入以下命令,启动master和slave服务

    redis-server redis-master.conf
    redis-server redis-slave1.conf
    

    输入:

    ps -aux|grep redis
    

    如果输出以下内容:

    root     10739  0.0  0.2 142912  5412 ?        Ssl  17:14   0:00 redis-server 127.0.0.1:7001
    root     10748  0.0  0.2 142912  5384 ?        Rsl  17:14   0:00 redis-server 127.0.0.1:7002
    

    启动成功。

    5.验证Master/Slave模式配置成功

    使用redis-cli分别连接slave和master数据库:

    redis-cli -p 7001 -a 123456
    redis-cli -p 7002 -a 123456
    

    在连接master的客户端中添加数据:

    set master-key test
    

    在连接slave的客户端中输入:

    get master-key
    

    如果能查询到:

    "test"
    

    则redis的slave-master配置成功。

    6.slave中写入数据测试

    在连接slave的客户端中输入:

    set write-test test
    

    会返回以下错误:

    (error) READONLY You can't write against a read only slave.
    

    这个因为在slave的服务中配置了只读模式。

    7.redis日志文件分析:

    10739:M 21 Mar 17:14:31.568 * DB loaded from disk: 0.000 seconds
    10739:M 21 Mar 17:14:31.568 * The server is now ready to accept connections on port 7001
    10739:M 21 Mar 17:14:38.962 * Slave 127.0.0.1:7002 asks for synchronization
    10739:M 21 Mar 17:14:38.962 * Full resync requested by slave 127.0.0.1:7002
    10739:M 21 Mar 17:14:38.963 * Starting BGSAVE for SYNC with target: disk
    10739:M 21 Mar 17:14:38.963 * Background saving started by pid 10751
    10751:C 21 Mar 17:14:38.993 * DB saved on disk
    10751:C 21 Mar 17:14:38.994 * RDB: 2 MB of memory used by copy-on-write
    10739:M 21 Mar 17:14:39.082 * Background saving terminated with success
    10739:M 21 Mar 17:14:39.083 * Synchronization with slave 127.0.0.1:7002 succeeded
    

    8.使用场景

    一般用于读写分离

  • 相关阅读:
    ModelState 错误信息输出
    c# 导入导出excel方法封装
    签名时出错: 未在路径 C:Program Files (x86)Microsoft SDKsWindowsv7.0Ain
    win 10 升级远程连接服务器 要求的函数不受支持
    请求被中止: 未能创建 SSL/TLS 安全通道
    访问iis 出现500.19错误
    ubuntu下交叉编译海思平台下的x264/x265
    C++编程规范
    C++入门--菱形继承与虚继承
    C++入门 --- 纯虚函数与抽象类
  • 原文地址:https://www.cnblogs.com/vitasyuan/p/8645592.html
Copyright © 2011-2022 走看看