redis主从搭建

1. 安装redis

复制代码
yum -y install redis

2. 配置redis

  1. master配置
bash 复制代码
[root@redis01 ~]# cat /etc/redis/redis.conf
daemonize yes
bind 0.0.0.0
port 6379
requirepass 123456
save 3600 1 300 100 60 10000

dir /var/lib/redis
dbfilename dump.rdb
logfile /var/log/redis/redis.log
pidfile /var/run/redis_6379.pid
  1. slave 配置
bash 复制代码
[root@redis02 ~]# cat /etc/redis/redis.conf 
daemonize yes
bind 0.0.0.0
port 6379
requirepass 123456
save 3600 1 300 100 60 10000

dir /var/lib/redis
dbfilename dump.rdb
logfile /var/log/redis/redis.log
pidfile /var/run/redis_6379.pid

replicaof 192.168.20.211 6379
masterauth 123456

3. 测试

1 . 登陆master 查看副本信息

bash 复制代码
[root@redis01 ~]# redis-cli 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.20.212,port=6379,state=online,offset=11312,lag=0
master_failover_state:no-failover
master_replid:206558e215c415bca204755cfcdaefc5b8e6f041
master_replid2:e9b5c3ef78c8af1614d48e301014219c91c13033
master_repl_offset:11312
second_repl_offset:4593
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:4299
repl_backlog_histlen:7014
127.0.0.1:6379> ROLE
1) "master"
2) (integer) 11340
3) 1) 1) "192.168.20.212"
      2) "6379"
      3) "11340"
  1. 登陆slave 查看
bash 复制代码
[root@redis02 ~]# redis-cli  
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> info replication 
# Replication
role:slave
master_host:192.168.20.211
master_port:6379
master_link_status:up
master_last_io_seconds_ago:7
master_sync_in_progress:0
slave_read_repl_offset:11410
slave_repl_offset:11410
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:206558e215c415bca204755cfcdaefc5b8e6f041
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:11410
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:10683
repl_backlog_histlen:728
127.0.0.1:6379> role
1) "slave"
2) "192.168.20.211"
3) (integer) 6379
4) "connected"
5) (integer) 11424
127.0.0.1:6379> 
  1. 在master上创建key,在slave 上查询是否同步数据
bash 复制代码
[root@redis01 ~]# redis-cli 
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> SET name zhangsan
OK


[root@redis02 ~]# redis-cli  
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> get name
"zhangsan"
  1. slave 上只能读,不能写
bash 复制代码
127.0.0.1:6379>  set age 18 
(error) READONLY You can't write against a read only replica.
127.0.0.1:6379> CONFIG GET  replica-read-only
1) "replica-read-only"
2) "yes"
相关推荐
爱码少年11 分钟前
Springboot下如何将CSV文件数据导入H2、Mysql数据库表
数据库·mysql·csv
我不会起名字3221 小时前
会话缓存失效排查:区分 Redis 失效与节点广播
redis·后端·go·即时通讯·im·故障排查
可乐ea1 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
阿义有问题2 小时前
MySQL 迁移达梦全流程实战:DTS 七步图解 + 对象名全大写适配(附踩坑清单)
数据库
猫猫不是喵喵.5 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
lsc_blog6 小时前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
墨痕诉清风6 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库
aiks_yuan7 小时前
Redis 大key怎么排查和删除:--bigkeys 每类只报一个,DEL 百万字段的 Hash 卡 0.3 秒(Redis 7.2 实测)
redis
Ashe8139 小时前
MySQL 慢日志先别急着加索引:三个指标能拦掉大半误判
数据库
ClouGence9 小时前
最基础的异构数据库 DDL 同步,我们踩过哪些坑?
数据库·mysql·postgresql