最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis slowlog使用和實現

 更新時間:2026年02月06日 10:55:57   作者:卓航  
slowlog是redis server記錄查詢命令執(zhí)行時間的日志模塊, 本文就來介紹一下slowlog使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

說明

slowlog是redis server記錄查詢命令執(zhí)行時間的日志模塊,

查詢執(zhí)行時間指一個查詢命令所耗費的時間,不包括客戶端響應,發(fā)送回復等IO操作。

slowlog保存在redis內存中,讀寫速度比較快,

配置

slow log主要由兩個參數控制,

slowlog-log-slower-than指對執(zhí)行時間大于多少微秒(microsecond)的查詢進行記錄。

slowlog-max-len指slowlog保存多少條日志,超過指定長度的日志,需要刪除最早的日志.

配置由兩種方法:

  1. 修改配置文件中slowlog-log-slower-than、slowlog-max-len參數
  2. 使用CONFIG SET命令動態(tài)修改slowlog-log-slower-than、slowlog-max-len參數值

命令

slow len:獲取當前slow log中長度

slow reset:重置slow log

slow get [count]:返回slow log中指定數量的log信息,默認為10,log信息包括:id, timestamp, time in microseconds, arguments array, client IP and port, client name。

實現

slowlog采用list數據結構,如果執(zhí)行時間大于slowlog-log-slower-than,追加到

void call(client *c, int flags) {

    //如果當前在 AOF 加載上下文,不要寫 slowlog / latency / INFO stats
    int update_command_stats = !isAOFLoadingContext();

    //......
    if (update_command_stats && !(c->flags & CLIENT_BLOCKED))
        slowlogPushCurrentCommand(c, real_cmd, c->duration);
    //......
    
}

void slowlogPushCurrentCommand(client *c, struct redisCommand *cmd, ustime_t duration) {
    //是否需要紀錄slowlog
    if (cmd->flags & CMD_SKIP_SLOWLOG)
        return;
    robj **argv = c->original_argv ? c->original_argv : c->argv;
    int argc = c->original_argv ? c->original_argc : c->argc;
    slowlogPushEntryIfNeeded(c,argv,argc,duration);
}

slowlogPushEntryIfNeeded函數把命令參數和執(zhí)行時間寫入到server.slowlog列表中

void slowlogPushEntryIfNeeded(client *c, robj **argv, int argc, long long duration) {
    //判斷slowlog_log_slower_than配置是否小于0,是否記錄日志
    if (server.slowlog_log_slower_than < 0) return; /* Slowlog disabled */
    //如果執(zhí)行時間大于slowlog_log_slower_than時間 追加到slow log list頭部中
    if (duration >= server.slowlog_log_slower_than)
        listAddNodeHead(server.slowlog,
                        slowlogCreateEntry(c,argv,argc,duration));
    //判斷slow log list長度是否大于slowlog_max_len,
    //如果大于slowlog_max_len 刪除list尾部元素
    /* Remove old entries if needed. */
    while (listLength(server.slowlog) > server.slowlog_max_len)
        listDelNode(server.slowlog,listLast(server.slowlog));
}

到此這篇關于Redis slowlog使用和實現的文章就介紹到這了,更多相關Redis slowlog使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Redis數據結構之intset整數集合使用學習

    Redis數據結構之intset整數集合使用學習

    這篇文章主要為大家介紹了Redis數據結構之整數集合使用學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Redis高并發(fā)問題的解決方法

    Redis高并發(fā)問題的解決方法

    這篇文章主要介紹了Redis高并發(fā)問題的解決辦法,具有很好的參考價值,感興趣的小伙伴們可以參考一下,具體如下:
    2018-05-05
  • 詳解Redis使用認證密碼登錄

    詳解Redis使用認證密碼登錄

    本篇文章主要介紹了詳解Redis使用認證密碼登錄 。啟用Redis的認證密碼可以增加Redis服務器的安全性。有興趣的可以了解下
    2017-06-06
  • Redis高并發(fā)緩存設計問題與性能優(yōu)化

    Redis高并發(fā)緩存設計問題與性能優(yōu)化

    本文詳細介紹了Redis緩存設計中常見的問題及解決方案,包括緩存穿透、緩存失效(擊穿)、緩存雪崩、熱點緩存key重建優(yōu)化、緩存與數據庫雙寫不一致以及開發(fā)規(guī)范與性能優(yōu)化,感興趣的可以了解一下
    2024-11-11
  • RedisTemplate訪問Redis的更好方法

    RedisTemplate訪問Redis的更好方法

    這篇文章主要為大家介紹了RedisTemplate訪問Redis的更好方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Windows下Redis的安裝使用圖解

    Windows下Redis的安裝使用圖解

    Redis是一個key-value存儲系統(tǒng)。Redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。這篇文章小編為大家分享了在Windows下進行安裝和使用Redis的技巧。
    2015-09-09
  • windows 64位下redis安裝教程

    windows 64位下redis安裝教程

    這篇文章主要為大家詳細介紹了windows 64位下redis安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Redis緩存穿透出現原因及解決方案

    Redis緩存穿透出現原因及解決方案

    這篇文章主要介紹了Redis緩存穿透出現原因及解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Redis延遲雙刪的具體使用

    Redis延遲雙刪的具體使用

    本文主要討論了延時雙刪策略,用于解決緩存與數據庫數據不一致的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-08-08
  • redis常用命令、常見錯誤、配置技巧等分享

    redis常用命令、常見錯誤、配置技巧等分享

    這篇文章主要介紹了redis常用命令、常見錯誤、配置技巧等分享,本文分享了12條redis知識,需要的朋友可以參考下
    2015-02-02

最新評論

平谷区| 淮阳县| 丹阳市| 赤城县| 台安县| 成安县| 会理县| 五莲县| 龙泉市| 宾川县| SHOW| 措美县| 荔浦县| 太原市| 德江县| 双牌县| 张北县| 当涂县| 高台县| 柘城县| 舞钢市| 永胜县| 龙州县| 三明市| 巴楚县| 黑水县| 双鸭山市| 武清区| 北流市| 新泰市| 扎鲁特旗| 砚山县| 江源县| 上思县| 黄大仙区| 久治县| 东阿县| 吉木乃县| 姜堰市| 蒲江县| 乌兰浩特市|