Redis多实例、主从、哨兵的基本实现
1.redis多实例
1.创建多实例目录
2.修改配置文件
dir /usr/local/redis/data/6380
port 6380
appendonly yes
3.启动多实例
redis-server /usr/local/redis/data/6380/redis.conf &
2.redis主从同步
redis主从同步只需要在从服务器配置
1.配置从服务器
replicaof 127.0.0.1 6380
或者在从服务器输入命令 slaveof ip port
或者启动时 --replicaof 127.0.0.1 6380
2.重启从服务器
启动时出现主从同步的信息
3.哨兵
1.设置6380与6381为6379的从服务器
2.配置启动哨兵
port 26379
sentinel monitor mymaster 127.0.0.1 6379 1
redis-sentinel /usr/local/redis/conf/sentinel.conf
启动后配置文件生成从服务器信息
# Generated by CONFIG REWRITE
protected-mode no
sentinel known-replica mymaster 127.0.0.1 6380
sentinel known-replica mymaster 127.0.0.1 6381
3.设置6380优先级
slave-priority 10
4.关闭6379测试
redis-cli -p 6379 shutdown
6380成为主服务器
[root@mysql01 ~]# redis-cli -p 6381 info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6380
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:15070
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:ec8057227966b10868466bb8fac3605b265d27f8
master_replid2:d7e98d451c6568f028d5009285f76300949eae34
master_repl_offset:15070
second_repl_offset:7157
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:15070
重启6379发现6379成为6380的从服务器
[root@mysql01 ~]# redis-cli -p 6379 info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6380
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:18066
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:ec8057227966b10868466bb8fac3605b265d27f8
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:18066
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:9483
repl_backlog_histlen:8584