W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
服務(wù)器狀態(tài)中包含了幾個(gè)和慢查詢?nèi)罩竟δ苡嘘P(guān)的屬性:
struct redisServer {
// ...
// 下一條慢查詢?nèi)罩镜?ID
long long slowlog_entry_id;
// 保存了所有慢查詢?nèi)罩镜逆湵? list *slowlog;
// 服務(wù)器配置 slowlog-log-slower-than 選項(xiàng)的值
long long slowlog_log_slower_than;
// 服務(wù)器配置 slowlog-max-len 選項(xiàng)的值
unsigned long slowlog_max_len;
// ...
};
slowlog_entry_id
屬性的初始值為 0
, 每當(dāng)創(chuàng)建一條新的慢查詢?nèi)罩緯r(shí), 這個(gè)屬性的值就會(huì)用作新日志的 id
值, 之后程序會(huì)對(duì)這個(gè)屬性的值增一。
比如說, 在創(chuàng)建第一條慢查詢?nèi)罩緯r(shí), slowlog_entry_id
的值 0
會(huì)成為第一條慢查詢?nèi)罩镜?ID , 而之后服務(wù)器會(huì)對(duì)這個(gè)屬性的值增一; 當(dāng)服務(wù)器再創(chuàng)建新的慢查詢?nèi)罩镜臅r(shí)候, slowlog_entry_id
的值 1
就會(huì)成為第二條慢查詢?nèi)罩镜?ID , 然后服務(wù)器再次對(duì)這個(gè)屬性的值增一, 以此類推。
slowlog
鏈表保存了服務(wù)器中的所有慢查詢?nèi)罩荆?鏈表中的每個(gè)節(jié)點(diǎn)都保存了一個(gè) slowlogEntry
結(jié)構(gòu), 每個(gè) slowlogEntry
結(jié)構(gòu)代表一條慢查詢?nèi)罩荆?/p>
typedef struct slowlogEntry {
// 唯一標(biāo)識(shí)符
long long id;
// 命令執(zhí)行時(shí)的時(shí)間,格式為 UNIX 時(shí)間戳
time_t time;
// 執(zhí)行命令消耗的時(shí)間,以微秒為單位
long long duration;
// 命令與命令參數(shù)
robj **argv;
// 命令與命令參數(shù)的數(shù)量
int argc;
} slowlogEntry;
舉個(gè)例子, 對(duì)于以下慢查詢?nèi)罩緛碚f:
1) (integer) 3
2) (integer) 1378781439
3) (integer) 10
4) 1) "SET"
2) "number"
3) "10086"
圖 23-1 展示的就是該日志所對(duì)應(yīng)的 slowlogEntry
結(jié)構(gòu)。
圖 23-2 展示了服務(wù)器狀態(tài)中, 和慢查詢功能有關(guān)的屬性:
slowlog_entry_id
的值為 6
, 表示服務(wù)器下條慢查詢?nèi)罩镜?nbsp;id
值將為 6
。slowlog
鏈表包含了 id
為 5
至 1
的慢查詢?nèi)罩荆?最新的 5
號(hào)日志排在鏈表的表頭, 而最舊的 1
號(hào)日志排在鏈表的表尾, 這表明slowlog
鏈表是使用插入到表頭的方式來添加新日志的。slowlog_log_slower_than
記錄了服務(wù)器配置 slowlog-log-slower-than
選項(xiàng)的值 0
, 表示任何執(zhí)行時(shí)間超過 0
微秒的命令都會(huì)被慢查詢?nèi)罩居涗洝?/li>
slowlog-max-len
屬性記錄了服務(wù)器配置 slowlog-max-len
選項(xiàng)的值 5
, 表示服務(wù)器最多儲(chǔ)存五條慢查詢?nèi)罩尽?/li>
注意
因?yàn)榘婷婵臻g不足的緣故, 所以圖 23-2 展示的各個(gè)
slowlogEntry
結(jié)構(gòu)都省略了argv
數(shù)組。
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)系方式:
更多建議: