W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
服務(wù)器在每次處理命令請(qǐng)求之前, 都會(huì)調(diào)用 replicationFeedMonitors
函數(shù), 由這個(gè)函數(shù)將被處理命令請(qǐng)求的相關(guān)信息發(fā)送給各個(gè)監(jiān)視器。
以下是 replicationFeedMonitors
函數(shù)的偽代碼定義, 函數(shù)首先根據(jù)傳入的參數(shù)創(chuàng)建信息, 然后將信息發(fā)送給所有監(jiān)視器:
def replicationFeedMonitors(client, monitors, dbid, argv, argc):
# 根據(jù)執(zhí)行命令的客戶端、當(dāng)前數(shù)據(jù)庫的號(hào)碼、命令參數(shù)、命令參數(shù)個(gè)數(shù)等參數(shù)
# 創(chuàng)建要發(fā)送給各個(gè)監(jiān)視器的信息
msg = create_message(client, dbid, argv, argc)
# 遍歷所有監(jiān)視器
for monitor in monitors:
# 將信息發(fā)送給監(jiān)視器
send_message(monitor, msg)
舉個(gè)例子, 假設(shè)服務(wù)器在時(shí)間 1378822257.329412
, 根據(jù) IP 為 127.0.0.1
、端口號(hào)為 56604
的客戶端發(fā)送的命令請(qǐng)求, 對(duì) 0
號(hào)數(shù)據(jù)庫執(zhí)行命令 KEYS *
, 那么服務(wù)器將創(chuàng)建以下信息:
1378822257.329412 [0 127.0.0.1:56604] "KEYS" "*"
如果服務(wù)器 monitors
鏈表的當(dāng)前狀態(tài)如圖 24-3 所示, 那么服務(wù)器會(huì)分別將信息發(fā)送給 c128
、 c256
、 c512
和 c10086
四個(gè)監(jiān)視器, 如圖 24-4 所示。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: