Redis 讀寫分離

啟動(dòng)寫主機(jī)

docker run -v redis-master-conf:/usr/local/etc/redis -v redis-master-data:/data --hostname redis-master --name redis-master -d redis  redis-server /usr/local/etc/redis/redis.conf

啟動(dòng)讀服務(wù) * 2

注意要 link 寫主機(jī), bind(-v) 相同的 volume ,共用一個(gè)配置

docker run -v redis-slave-conf:/usr/local/etc/redis -v redis-slave-data:/data --hostname redis-slave-1 --link redis-master --name redis-slave-1 -d redis redis-server /usr/local/etc/redis/redis.conf
docker run -v redis-slave-conf:/usr/local/etc/redis -v redis-slave-data:/data --hostname redis-slave-2 --link redis-master --name redis-slave-2 -d redis redis-server /usr/local/etc/redis/redis.conf

編輯讀服務(wù)的配置文件 redis.conf

# 綁定 hostname 為 redis-master 的主機(jī),端口號(hào)為 6379
slaveof redis-master 6379
# 讀服務(wù)只允許讀
slave-read-only yes

重啟讀服務(wù)

docker restart redis-slave-1 redis-slave-2

檢查是否配置成功

進(jìn)入 master 主機(jī)的 redis ,config replication

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.17.0.3,port=6379,state=online,offset=852,lag=1
slave1:ip=172.17.0.5,port=6379,state=online,offset=852,lag=1
master_failover_state:no-failover
master_replid:3858e5c8a6f9d14b2464c033649622d3b2c50c78
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:852
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:852

可以看到 connected_slaves 這一項(xiàng)的值為 2,表示有兩臺(tái)機(jī)器連上了master 并充當(dāng) slave 的角色。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容