1. 程式人生 > >redis集群相關命令

redis集群相關命令

保持 性能 升級 讀寫 服務 崩潰 fir 端口 網絡傳輸

1、主從數據庫配置

為master數據庫添加slave數據庫只需要在從數據庫的配置中添加配置:

slaveof 主數據庫地址 主數據庫端口

當然,也可以通過命令:

redis-server --port 6380 --slaveof 主數據庫地址 主數據庫端口

可以通過命令info replication查看相關的信息:

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_replid:971c47ba6a01c3e1362f626683f4e2391793accb
master_replid2:
0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0

當主數據庫修改鍵值的時候,修改的數據自動同步到從數據庫(從數據庫默認不允許進行寫操作)。

2、同步命令sync/psync

從數據庫可以發送命令sync和psync命令向主數據庫請求數據同步,其中psync支持增量復制。
主從數據庫的配置意義在於,可以通過復制實現讀寫分離,只有需要寫的時候才需要主數據庫進行操作,而讀數據的壓力分攤到從數據庫中,為此,從數據庫需要和主數據庫保持一定程度上的一致性,當從數據庫因為某些原因與主數據庫斷了連接,則兩者數據可能會不一致,因此redis通過下面的配置來處理此問題:

min-slaves-to-write 3
min-slaves-max-lag 10

min-slaves-to-wrire 3表示只有當3個或者3個以上的從數據庫連接到主數據庫時,主數據庫才是可寫的;而min-slaves-max-lag 10表示允許從數據庫與主數據庫斷開連接的時間,即斷開10s內仍認為與主數據庫處於連接狀態。

3、一致性

當從數據庫崩潰等異常導致主從數據庫不一致時,只需要重啟從數據庫,發送同步數據請求即可。

當主數據庫崩潰等異常導致主從數據庫不一致時,需要在從數據庫中執行slaveof no one,將從數據庫升級為主數據,再將原主數據庫變為從數據庫進行數據同步操作。

4、無硬盤復制與增量復制

主從數據庫主要通過RDB快照文件進行數據同步,但是對於某些硬盤性能較差的服務器來說,在進行數據同步的過程中可能會因數據同步降低服務器的性能,因此redis推出了無硬盤復制的功能,即生成RDB文件不保存在硬盤中,而是直接通過網絡傳輸給從數據庫,開啟該功能的配置是:

repl-diskless-sync yes

redis集群相關命令