Redis 主从配置及原理

Redis 安装:

有通过命令行来安装、源码编译安装两种方式,更推荐使用命令行来安装,原因是安装简单,问题少,另外日志、数据、配置等相关文件的目录的分配路径都是很清晰的,日志在 /var/log 目录下,配置文件在 /etc 目录下,数据在 /var/lib 目录下;并且可以很好的进行更新和升级,还能够很容易的配置服务的自启动,可以直接全局命令等诸多优点;

Linux系统大部分默认的都不是最新版本的,所以如果需要安装新版本的则需要根据官方文档进行一些配置。例如 Debian、Ubuntu 下安装最新 6.2.x 版本需要配置如下:

  1. 导入官方提供的 gpg key ,执行命令如下:

    curl https://packages.redis.io/gpg | sudo apt-key add -
    
  2. 创建 list file;

    echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
    
  3. 更新一下本地库,然后执行安装:

    sudo apt-get update
    
    sudo apt-get install -y redis
    
  4. 到此redis最新版就安装好了,查看一下安装的redis版本号:

    redis-server --version
    

    将看到一下信息:

    Redis server v=6.2.6 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=5576xxxxxc1e18ba
    
  5. 设备服务自启动,并启动 redis:

    systemctl enable redis-server
    
    systemctl start redis
    

redis 主从配置:

一般情况,redis 都是会让其后台运行,但是 redis 默认不是,还有需要进行安全配置(设置密码、启用 tsl)等其他相关的配置,常用的配置如下:

# 配置后台运行(如果是编译安装情况的话,需要设置)
daemonize yes
# 监听端口
bind 172.0.0.1 ::1
# 设置密码
requirepass Xxx#$001

如果是配置主节点,以上配置基本就可以满足了,从节点则需要额外添加一项配置:

# replicaof <masterip> <masterport>
replicaof 172.0.0.1 6379

完成配置之后,重启服务以使其生效,然后通过如下命令查看配置信息:

info replication

查看主、从节点的信息,主节点示例如下:

# Replication
role:master
connected_slaves:2
slave0:ip=172.0.0.2,port=6379,state=online,offset=700,lag=0
slave1:ip=172.0.0.3,port=6379,state=online,offset=700,lag=0
master_replid:b80a472xxxxxxxdaf7a813
master_replid2:0000xxxxxxx0000
master_repl_offset:700
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:700

从节点信息示例如下:

role:slave
master_host:172.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:854
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:b80a4xxxxxxxxxxxxxxxxxxx13
master_replid2:00000xxxxxxxxxxxxxxx000000
master_repl_offset:854
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:57
repl_backlog_histlen:798
Technology 1/30/2022, 9:24:46 AM
496
1
2
主从集群redis
如有帮助,点赞鼓励一下吧!