最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis 主從搭建的實現(xiàn)(同主機和跨節(jié)點)

 更新時間:2025年09月23日 11:33:15   作者:咚咚?  
本文主要介紹了Redis 主從搭建的實現(xiàn),包括同主機和跨節(jié)點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一. 同主機搭建Redis主從

1. 環(huán)境介紹

同機器 一主兩從

操作系統(tǒng)Centos 7
內核版本Linux 3.10.0-957.el7.x86_64
主機名稱master-salve
IP地址192.168.1.100
端口master: 16370 slave1: 16371 slave2: 16372
Redis7.2.5

2. 環(huán)境前準備工作

# 關閉防火墻
systemctl stop firewalld
systemctl disable firewalld

# 修改 hostname
hostnamectl set-hostname xxxx  # 修改后退出當前終端重新連接即可

# 更新下軟件源
# 地址 https://developer.aliyun.com/mirror/

# 時區(qū)調整,時間校準
date -R
timedatectl set-timezone Asia/Shanghai
yum -y install ntp
ntpdate ntp1.aliyun.com

# 關閉 selinux: 
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0

3. 安裝 Redis 7.2.5

# 下載地址
http://download.redis.io/releases/

# 下載
wget http://download.redis.io/releases/redis-7.2.5.tar.gz
# 解壓
tar -xf redis-7.2.5.tar.gz -C /opt/redis

# 編譯
make MALLOC=libc

# 安裝 注意如果安裝提示python3不存在 執(zhí)行 yum install -y python3
make install PREFIX=/usr/local/redis

# 配置環(huán)境變量
vi /etc/profile.d/redis.sh

#!/bin/bash

export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin 

# 使其配置生效
source /etc/profile.d/redis.sh

4. redis 配置修改并且啟動

4.1 修改配置文件

# 創(chuàng)建redis數(shù)據(jù)存儲目錄
mkdir -p /usr/local/redis/data/1637{0..2}
# 創(chuàng)建redis配置文件存儲目錄
mkdir -p /usr/local/redis/conf/1637{0..2}
# 創(chuàng)建redis日志存儲目錄
mkdir -p /usr/local/redis/log/1637{0..2}

# 創(chuàng)建redis pid存儲目錄
mkdir /usr/local/redis/run


# redis配置文件 16370
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.100   
# 端口  
port 16370
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16370.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/16370/redis_16370.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16370
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes  



# redis配置文件 16371
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.100   
# 端口  
port 16371
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16371.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/16370/redis_16371.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16371
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes  



# redis配置文件 16372
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.100   
# 端口  
port 16372
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16372.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/16370/redis_16372.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16372
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes  




# 復制下面命令即可
cat > /usr/local/redis/conf/redis_16370.conf <<EOF 
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.100   
# 端口  
port 16370
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16370.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/16370/redis_16370.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16370
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes 
EOF



cat > /usr/local/redis/conf/redis_16371.conf <<EOF 
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.100   
# 端口  
port 16371
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16371.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/16370/redis_16371.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16371
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes 
EOF

cat > /usr/local/redis/conf/redis_16372.conf <<EOF 
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.100   
# 端口  
port 16372
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16372.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/16370/redis_16372.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16372
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes 
EOF

4.2 編寫啟動腳本

# 啟動腳本
cat > /usr/local/redis/bin/master-slave_start.sh << EOF
#!/bin/bash



redis-server /usr/local/redis/conf/redis_16370.conf
redis-server /usr/local/redis/conf/redis_16371.conf
redis-server /usr/local/redis/conf/redis_16372.conf
EOF


# 賦予可執(zhí)行權限
chmod +x /usr/local/redis/bin/master-slave_start.sh


# 關閉腳本
vi /usr/local/redis/bin/master-slave_shutdown.sh

#!/bin/bash

kill -9 $(ps -ef | grep 1637 | grep -v grep | awk '{print $2}')

# 賦予可執(zhí)行權限
chmod +x /usr/local/redis/bin/master-slave_shutdown.sh

5. 開啟主從

5.1 開啟

# 以"192.168.1.100:16370"實例為主庫,以"192.168.1.100:16371"實例和"192.168.1.100:16372"實例為從庫。
# -a 參數(shù)指定密碼
# 從庫實例開啟主從
 redis-cli -h 192.168.1.100 -p 16371 -a dongdong slaveof 192.168.1.100 16370
 redis-cli -h 192.168.1.100 -p 16372 -a dongdong slaveof 192.168.1.100 16370
 
 # Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
 # 警告:在命令行界面上使用帶有“-a”或“-u”選項的密碼可能不安全。  可以忽略
 # 解決方式
 # redis-cli -h 192.168.1.100 -p 16371 -a dongdong --no-auth-warning  slaveof 192.168.1.100 16370 
 

5.2 主庫實例查看主從信息

 redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication 
 
 [root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.100,port=16371,state=online,offset=8428,lag=0
slave1:ip=192.168.1.100,port=16372,state=online,offset=8428,lag=1
master_failover_state:no-failover
master_replid:a292603e2c96a6f451055e6d84a60795f81f2928
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:8428
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:8428

5.3 從庫實例查看主從信息

# 192.168.1.100:16371 查看主從信息
redis-cli -h 192.168.1.100 -p 16371 -a dongdong  info replication 

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16371 -a dongdong  info replication 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:slave
master_host:192.168.1.100
master_port:16370
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_read_repl_offset:8680
slave_repl_offset:8680
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:a292603e2c96a6f451055e6d84a60795f81f2928
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:8680
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15
repl_backlog_histlen:8666

5.4 驗證主從配置是否生效

# "192.168.1.100:16370"實例主庫的11號數(shù)據(jù)庫創(chuàng)建測試數(shù)據(jù)
redis-cli -h 192.168.1.100 -p 16370 -a dongdong -n 11

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16370 -a dongdong -n 11
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.1.100:16370[11]> keys *
(empty array)
192.168.1.100:16370[11]> set name dongdong
OK
192.168.1.100:16370[11]> set age 18
OK
192.168.1.100:16370[11]> keys *
1) "age"
2) "name"

# "192.168.1.100:16371"實例從庫的11號數(shù)據(jù)庫查看是否同步主庫的11號數(shù)據(jù)庫
redis-cli -h 192.168.1.100 -p 16371 -a dongdong -n 11

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16371 -a dongdong -n 11
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.1.100:16371[11]> keys *
1) "name"
2) "age"
192.168.1.100:16371[11]> get name
"dongdong"
192.168.1.100:16371[11]> get age
"18"
192.168.1.100:16371[11]> 

# "192.168.1.100:16372"實例從庫的11號數(shù)據(jù)庫查看是否同步主庫的11號數(shù)據(jù)庫
redis-cli -h 192.168.1.100 -p 16372 -a dongdong -n 11

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16372 -a dongdong -n 11
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.1.100:16372[11]> keys *
1) "age"
2) "name"
192.168.1.100:16372[11]> get name
"dongdong"
192.168.1.100:16372[11]> get age
"18"
192.168.1.100:16372[11]> 

6. 解除 192.168.1.100:16372 實例主從

# 192.168.1.100:16372 查看主從信息
redis-cli -h 192.168.1.100 -p 16372 -a dongdong  info replication 

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16372 -a dongdong  info replication 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:slave
master_host:192.168.1.100
master_port:16370
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_read_repl_offset:10003
slave_repl_offset:10003
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:a292603e2c96a6f451055e6d84a60795f81f2928
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:10003
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:155
repl_backlog_histlen:9849

#  192.168.1.100:16370 查看主從信息
redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication 
[root@master-slave ~]#  redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.100,port=16371,state=online,offset=10157,lag=0
slave1:ip=192.168.1.100,port=16372,state=online,offset=10157,lag=0
master_failover_state:no-failover
master_replid:a292603e2c96a6f451055e6d84a60795f81f2928
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:10157
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:10157

# 解除 192.168.1.100:16372 主從信息
redis-cli -h 192.168.1.100 -p 16372 -a dongdong slaveof no one

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16372 -a dongdong slaveof no one
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
OK

# 再次查看 192.168.1.100:16370 查看主從信息
redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication 

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.100,port=16371,state=online,offset=10731,lag=0
master_failover_state:no-failover
master_replid:a292603e2c96a6f451055e6d84a60795f81f2928
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:10731
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:10731
# 只剩下一個 從節(jié)點了

# 把192.168.1.100:16372 添加回來
redis-cli -h 192.168.1.100 -p 16372 -a dongdong slaveof 192.168.1.100 16370
[root@master-slave ~]#  redis-cli -h 192.168.1.100 -p 16372 -a dongdong slaveof 192.168.1.100 16370
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
OK

# 此時再看192.168.1.100:16370 查看主從信息
redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication 

[root@master-slave ~]# redis-cli -h 192.168.1.100 -p 16370 -a dongdong  info replication 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.100,port=16371,state=online,offset=10941,lag=0
slave1:ip=192.168.1.100,port=16372,state=online,offset=10941,lag=0
master_failover_state:no-failover
master_replid:a292603e2c96a6f451055e6d84a60795f81f2928
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:10941
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:10941
# slaves 變成2了

二. 跨節(jié)點部署Redis主從

1. 環(huán)境介紹

操作系統(tǒng)Centos 7Centos 7Centos 7
內核版本Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64Linux 3.10.0-957.el7.x86_64
主機名稱masterslave1slave2
IP192.168.1.100192.168.1.200192.168.1.250
端口163801638116382

2. 修改配置文件

2.1 master

# 創(chuàng)建redis數(shù)據(jù)存儲目錄
mkdir -p /usr/local/redis/data/16380
# 創(chuàng)建redis配置文件存儲目錄
mkdir -p /usr/local/redis/conf/16380
# 創(chuàng)建redis日志存儲目錄
mkdir -p /usr/local/redis/log/16380

# 創(chuàng)建redis pid存儲目錄
mkdir /usr/local/redis/run


# 復制下面命令即可
cat > /usr/local/redis/conf/redis_16380.conf<<EOF 
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.100   
# 端口  
port 16380
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16380.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/redis_16380.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16380
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes 
EOF

2.2 slave 1

# 創(chuàng)建redis數(shù)據(jù)存儲目錄
mkdir -p /usr/local/redis/data/16381
# 創(chuàng)建redis配置文件存儲目錄
mkdir -p /usr/local/redis/conf/16381
# 創(chuàng)建redis日志存儲目錄
mkdir -p /usr/local/redis/log/16381

# 創(chuàng)建redis pid存儲目錄
mkdir /usr/local/redis/run


# 復制下面命令即可
cat > /usr/local/redis/conf/redis_16381.conf <<EOF 
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.200   
# 端口  
port 16381
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16381.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/redis_16381.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16381
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes 
EOF

2.3 slave 2

# 創(chuàng)建redis數(shù)據(jù)存儲目錄
mkdir -p /usr/local/redis/data/16382
# 創(chuàng)建redis配置文件存儲目錄
mkdir -p /usr/local/redis/conf/16382
# 創(chuàng)建redis日志存儲目錄
mkdir -p /usr/local/redis/log/16382

# 創(chuàng)建redis pid存儲目錄
mkdir /usr/local/redis/run


# 復制下面命令即可
cat > /usr/local/redis/conf/redis_16382.conf <<EOF 
# 開啟保護模式
protected-mode yes
# 添加本機的ip
bind 192.168.1.250   
# 端口  
port 16382
# pid存儲目錄
pidfile /usr/local/redis/run/redis_16382.pid   
# 日志存儲目錄
logfile /usr/local/redis/log/redis_16382.log 
# 數(shù)據(jù)存儲目錄,目錄要提前創(chuàng)建好
dir /usr/local/redis/data/16382
# 設置實例的驗證口令
requirepass dongdong
# 以認證的方式連接到master。 如果master中使用了“密碼保護”,slave必須交付正確的授權密碼,才能連接成功。
# 此配置項中值需要和master機器的“requirepass”保持一致
masterauth dongdong
# 配置RDB持久化策略
save 900 1
save 300 10
save 60 10000
# 配置AOF持久化
appendonly yes 
appendfsync everysec
# 守護進程
daemonize yes 
EOF

3.啟動Redis

3.1 master

redis-server  /usr/local/redis/conf/redis_16380.conf

3.2 slave 1

redis-server  /usr/local/redis/conf/redis_16381.conf

3.3 slave 2

redis-server  /usr/local/redis/conf/redis_16382.conf

4. 開啟主從

4.1 slave 1

# 從庫開啟主從
redis-cli -h 192.168.1.200 -p 16381 -a dongdong slaveof 192.168.1.100 16380
 
[root@slave1 ~]#  redis-cli -h 192.168.1.200 -p 16381 -a dongdong slaveof 192.168.1.100 16380
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
OK

# 從庫查看主從信息
redis-cli -h 192.168.1.200 -p 16381 -a dongdong  info replication 

[root@slave1 ~]# redis-cli -h 192.168.1.200 -p 16381 -a dongdong  info replication 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:slave
master_host:192.168.1.100
master_port:16380
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_read_repl_offset:532
slave_repl_offset:532
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:7330881025ee2709ee6c9c32ea3fcc9b6649893d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:532
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:15
repl_backlog_histlen:518

4.2 slave 2

# 從庫開啟主從
redis-cli -h 192.168.1.250 -p 16382 -a dongdong slaveof 192.168.1.100 16380

[root@slave2 ~]# redis-cli -h 192.168.1.250 -p 16382 -a dongdong slaveof 192.168.1.100 16380
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
OK

# 從庫查看主從信息
redis-cli -h 192.168.1.250 -p 16382 -a dongdong  info replication 

[root@slave2 ~]# redis-cli -h 192.168.1.250 -p 16382 -a dongdong  info replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:slave
master_host:192.168.1.100
master_port:16380
master_link_status:up
master_last_io_seconds_ago:10
master_sync_in_progress:0
slave_read_repl_offset:560
slave_repl_offset:560
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:7330881025ee2709ee6c9c32ea3fcc9b6649893d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:560
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:211
repl_backlog_histlen:350

4.3 master

# 查看 主從信息
redis-cli -h 192.168.1.100 -p 16380 -a dongdong  info replication 

[root@master ~]# redis-cli -h 192.168.1.100 -p 16380 -a dongdong  info replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.200,port=16381,state=online,offset=336,lag=0
slave1:ip=192.168.1.250,port=16382,state=online,offset=336,lag=1
master_failover_state:no-failover
master_replid:7330881025ee2709ee6c9c32ea3fcc9b6649893d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:336
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:336

5. 驗證主從配置是否生效

# "master主機名"實例主庫的11號數(shù)據(jù)庫創(chuàng)建測試數(shù)據(jù)
redis-cli -h 192.168.1.100 -p 16380 -a dongdong -n 11

[root@master ~]# redis-cli -h 192.168.1.100 -p 16380 -a dongdong -n 11
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.1.100:16380[11]> keys *
(empty array)
192.168.1.100:16380[11]> set name dongdong
OK
192.168.1.100:16380[11]> set age 18
OK
192.168.1.100:16380[11]> keys *
1) "name"
2) "age"
192.168.1.100:16380[11]> 


# "slave1主機名"實例從庫的11號數(shù)據(jù)庫查看是否同步主庫的11號數(shù)據(jù)庫
redis-cli -h 192.168.1.200 -p 16381 -a dongdong -n 11

[root@slave1 ~]# redis-cli -h 192.168.1.200 -p 16381 -a dongdong -n 11
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.1.200:16381[11]> get name
"dongdong"
192.168.1.200:16381[11]> get age
"18"
192.168.1.200:16381[11]> key *
(error) ERR unknown command 'key', with args beginning with: '*' 
192.168.1.200:16381[11]> keys *
1) "age"
2) "name"
192.168.1.200:16381[11]> 

# "slave2主機名"實例從庫的11號數(shù)據(jù)庫查看是否同步主庫的11號數(shù)據(jù)庫
redis-cli -h 192.168.1.250 -p 16382 -a dongdong -n 11

[root@slave2 ~]# redis-cli -h 192.168.1.250 -p 16382 -a dongdong -n 11
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
192.168.1.250:16382[11]> get name 
"dongdong"
192.168.1.250:16382[11]> get age
"18"
192.168.1.250:16382[11]> keys *
1) "age"
2) "name"
192.168.1.250:16382[11]> 

# 如果針對 slave1 或者 slave2 進行寫入操作 則會報錯 錯誤信息  只能在master操作哦
(error) READONLY You can't write against a read only replica.

到此這篇關于Redis 主從搭建的實現(xiàn)(同主機和跨節(jié)點)的文章就介紹到這了,更多相關Redis 主從搭建內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Redis中的RDB用法原理及說明

    Redis中的RDB用法原理及說明

    Redis RDB是通過fork子進程生成內存數(shù)據(jù)快照的持久化機制,采用寫時復制(COW)技術,確保數(shù)據(jù)一致性,優(yōu)點:性能高、恢復快;缺點:可能丟失最后一次持久化后的數(shù)據(jù),常用于備份,建議與AOF結合使用以兼顧安全與效率
    2025-09-09
  • Redis的持久化方式

    Redis的持久化方式

    Redis提供了兩種主要的持久化方式:RDB和AOF,RDB通過定時快照的方式保存數(shù)據(jù)狀態(tài),而AOF記錄每個寫操作以便于重啟時重放,兩者可以結合使用,且在重啟時AOF文件會被優(yōu)先用于數(shù)據(jù)恢復,RDB快照具有速度快、節(jié)省磁盤空間的優(yōu)點,但可能會丟失最近的數(shù)據(jù)
    2024-10-10
  • Redis分布式鎖的使用和實現(xiàn)原理詳解

    Redis分布式鎖的使用和實現(xiàn)原理詳解

    這篇文章主要給大家介紹了關于Redis分布式鎖的使用和實現(xiàn)原理的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Redis實現(xiàn)分布式隊列淺析

    Redis實現(xiàn)分布式隊列淺析

    Redis將數(shù)據(jù)存儲在內存中,使得讀寫速度非常快,經(jīng)常被用來做緩存系統(tǒng),這里我們將redis用來做一個分布式的消息隊列。這篇文章主要介紹了使用redis來作為消息隊列,并且進行分布式主從配置,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2016-11-11
  • redis 解決庫存并發(fā)問題實現(xiàn)數(shù)量控制

    redis 解決庫存并發(fā)問題實現(xiàn)數(shù)量控制

    本文主要介紹了redis 解決庫存并發(fā)問題實現(xiàn)數(shù)量控制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • Redis?sentinel哨兵集群的實現(xiàn)步驟

    Redis?sentinel哨兵集群的實現(xiàn)步驟

    本文主要介紹了Redis?sentinel哨兵集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Spring?Boot?緩存?與?Redis問題小結

    Spring?Boot?緩存?與?Redis問題小結

    本文總結SpringBoot緩存方案,對比Redis與EnCache優(yōu)劣,指出Redis支持集群但效率較低,EnCache速度快但不支持分布式,SpringBoot默認使用ConcurrentHashMapManager,本文給大家介紹Spring?Boot緩存與Redis問題小結,感興趣的朋友一起看看吧
    2025-07-07
  • Redis分布式鎖中Redission底層實現(xiàn)方式

    Redis分布式鎖中Redission底層實現(xiàn)方式

    Redission基于Redis原子操作和Lua腳本實現(xiàn)分布式鎖,通過SETNX命令、看門狗續(xù)期、可重入機制及異常處理,確保鎖的可靠性和一致性,是Java項目中高效解決并發(fā)控制問題的優(yōu)選方案
    2025-08-08
  • Redis使用bloom-filter過濾器實現(xiàn)推薦去重

    Redis使用bloom-filter過濾器實現(xiàn)推薦去重

    這篇文章主要介紹了Redis使用bloom-filter過濾器實現(xiàn)推薦去重,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Redis哨兵模式在Spring Boot項目中的使用與實踐完全指南

    Redis哨兵模式在Spring Boot項目中的使用與實踐完全指南

    Redis哨兵模式為SpringBoot項目提供高可用Redis管理,實現(xiàn)自動故障轉移與監(jiān)控,通過配置依賴、參數(shù)及最佳實踐(如哨兵節(jié)點數(shù)量、網(wǎng)絡規(guī)劃),可提升系統(tǒng)穩(wěn)定性與可靠性,本文給大家介紹Redis哨兵模式在Spring Boot項目中的使用與實踐,感興趣的朋友跟隨小編一起看看吧
    2025-09-09

最新評論

灵武市| 泽库县| 紫阳县| 麻城市| 剑阁县| 中宁县| 称多县| 和田县| 延安市| 车险| 齐齐哈尔市| 绥芬河市| 桑日县| 贵定县| 溆浦县| 洪湖市| 启东市| 东丽区| 白水县| 河池市| 莒南县| 鄂伦春自治旗| 遂昌县| 奉新县| 清苑县| 尼玛县| 临清市| 花莲县| 博乐市| 城口县| 巨野县| 青铜峡市| 内黄县| 特克斯县| 南漳县| 双辽市| 阿克陶县| 修武县| 定结县| 鲜城| 湘潭市|