99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Redis 慢查詢記錄的保存

2018-08-02 14:59 更新

慢查詢記錄的保存

服務(wù)器狀態(tài)中包含了幾個和慢查詢?nèi)罩竟δ苡嘘P(guān)的屬性:

struct redisServer {

    // ...

    // 下一條慢查詢?nèi)罩镜?ID
    long long slowlog_entry_id;

    // 保存了所有慢查詢?nèi)罩镜逆湵?    list *slowlog;

    // 服務(wù)器配置 slowlog-log-slower-than 選項的值
    long long slowlog_log_slower_than;

    // 服務(wù)器配置 slowlog-max-len 選項的值
    unsigned long slowlog_max_len;

    // ...

};

slowlog_entry_id 屬性的初始值為 0 , 每當(dāng)創(chuàng)建一條新的慢查詢?nèi)罩緯r, 這個屬性的值就會用作新日志的 id 值, 之后程序會對這個屬性的值增一。

比如說, 在創(chuàng)建第一條慢查詢?nèi)罩緯r, slowlog_entry_id 的值 0 會成為第一條慢查詢?nèi)罩镜?ID , 而之后服務(wù)器會對這個屬性的值增一; 當(dāng)服務(wù)器再創(chuàng)建新的慢查詢?nèi)罩镜臅r候, slowlog_entry_id 的值 1 就會成為第二條慢查詢?nèi)罩镜?ID , 然后服務(wù)器再次對這個屬性的值增一, 以此類推。

slowlog 鏈表保存了服務(wù)器中的所有慢查詢?nèi)罩荆?鏈表中的每個節(jié)點都保存了一個 slowlogEntry 結(jié)構(gòu), 每個 slowlogEntry 結(jié)構(gòu)代表一條慢查詢?nèi)罩荆?/p>

typedef struct slowlogEntry {

    // 唯一標(biāo)識符
    long long id;

    // 命令執(zhí)行時的時間,格式為 UNIX 時間戳
    time_t time;

    // 執(zhí)行命令消耗的時間,以微秒為單位
    long long duration;

    // 命令與命令參數(shù)
    robj **argv;

    // 命令與命令參數(shù)的數(shù)量
    int argc;

} slowlogEntry;

舉個例子, 對于以下慢查詢?nèi)罩緛碚f:

1) (integer) 3
2) (integer) 1378781439
3) (integer) 10
4) 1) "SET"
   2) "number"
   3) "10086"

圖 23-1 展示的就是該日志所對應(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 號日志排在鏈表的表頭, 而最舊的 1 號日志排在鏈表的表尾, 這表明slowlog 鏈表是使用插入到表頭的方式來添加新日志的。
  • slowlog_log_slower_than 記錄了服務(wù)器配置 slowlog-log-slower-than 選項的值 0 , 表示任何執(zhí)行時間超過 0 微秒的命令都會被慢查詢?nèi)罩居涗洝?/li>
  • slowlog-max-len 屬性記錄了服務(wù)器配置 slowlog-max-len 選項的值 5 , 表示服務(wù)器最多儲存五條慢查詢?nèi)罩尽?/li>

注意

因為版面空間不足的緣故, 所以圖 23-2 展示的各個 slowlogEntry 結(jié)構(gòu)都省略了 argv 數(shù)組。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號