Як дізнатися, чи Redis-вузол є master, чи реплікою?
Дізнатися, чи Redis-вузол є master, чи replica, можна кількома способами:
1. Через команду INFO replication
Це основний і найнадійніший спосіб.
Приклад:
bash
redis-cli INFO replicationВивід:
javascript
# Replication
role:master
connected_slaves:1
slave0:ip=127.0.0.1,port=6380,state=online,offset=1203,lag=0чи
javascript
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:upПоле role: покаже, ким є цей вузол:
role:master- це головний вузол.role:slave(чиrole:replicaу нових версіях) - це репліка.
2. Через команду ROLE
Лаконічніша альтернатива.
Приклад:
bash
redis-cli ROLEМожливі відповіді:
-
Для master:
javascript1) "master" 2) (integer) 12345 3) (array) ... -
Для replica:
javascript1) "slave" 2) "127.0.0.1" 3) (integer) 6379 4) "connected" 5) (integer) 12345
3. Через Redis Sentinel (якщо використовується)
Якщо в тебе налаштований Sentinel:
bash
redis-cli -p 26379 SENTINEL mastersПокаже поточний master і його репліки.
Отже:
→ Найшвидше - redis-cli INFO replication і дивитися поле role:.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.