在生產環(huán)境,Redis結點通常是單獨部署在不同的物理機器上。想要在一臺機器上模擬多節(jié)點,可以參考這篇文章同一臺機器上啟動多個Redis實例
Redis實例可劃分為主結點(master)和從結點(slave)
一個主結點可以有多個從結點,一個從結點只能有一個主結點
默認情況下,從結點只讀
這里我啟動兩個實例,端口分別是6379和6380
1.指定端口連接實例
redis-cli -p 6380復制代碼
2.在6380示例執(zhí)行以下命令,代表6380為6379的從結點
執(zhí)行slaveof會先保存主結點信息,后續(xù)復制異步執(zhí)行
slaveof 127.0.0.1 6379復制代碼
3.可以看到6379插入的數據能在6380實例獲取到
4.也可以直接在redis.conf文件中配置主從關系。具體方式是,打開從結點的conf文件,找到slaveof,格式同以上命令
info replication復制代碼
1.在從結點執(zhí)行以下命令
slaveof no one復制代碼
在配置文件中有slave-read-only配置,yes代表只讀,對于從結點不建議修改這個值
執(zhí)行slaveof命令后,會進執(zhí)行以下步驟
保存主結點信息
主從建立socket連接
發(fā)送ping命令驗證連接是否建立成功
驗證權限,對于設置了requirepass的主結點,從結點需要密碼認證
同步數據
同步命令,保證數據一致性