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

Redis slowlog使用和實(shí)現(xiàn)

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

說明

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

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

slowlog保存在redis內(nèi)存中,讀寫速度比較快,

配置

slow log主要由兩個參數(shù)控制,

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

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

配置由兩種方法:

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

命令

slow len:獲取當(dāng)前slow log中長度

slow reset:重置slow log

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

實(shí)現(xiàn)

slowlog采用list數(shù)據(jù)結(jié)構(gòu),如果執(zhí)行時間大于slowlog-log-slower-than,追加到

void call(client *c, int flags) {

    //如果當(dāng)前在 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) {
    //是否需要紀(jì)錄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函數(shù)把命令參數(shù)和執(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));
}

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

相關(guān)文章

  • Redis數(shù)據(jù)結(jié)構(gòu)之intset整數(shù)集合使用學(xué)習(xí)

    Redis數(shù)據(jù)結(jié)構(gòu)之intset整數(shù)集合使用學(xué)習(xí)

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

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

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

    詳解Redis使用認(rèn)證密碼登錄

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

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

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

    RedisTemplate訪問Redis的更好方法

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

    Windows下Redis的安裝使用圖解

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

    windows 64位下redis安裝教程

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

    Redis緩存穿透出現(xiàn)原因及解決方案

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

    Redis延遲雙刪的具體使用

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

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

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

最新評論

微博| 岳普湖县| 信阳市| 华阴市| 随州市| 东阳市| 徐闻县| 岳阳县| 婺源县| 灵寿县| 南丰县| 明星| 酒泉市| 临泉县| 金平| 柳州市| 厦门市| 武隆县| 娱乐| 邢台市| 昔阳县| 苗栗县| 甘南县| 灌阳县| 平利县| 高清| 沂南县| 澄迈县| 蓬莱市| 安新县| 宝清县| 博乐市| 万盛区| 遵义市| 富宁县| 乌兰县| 东安县| 莱阳市| 隆化县| 湖北省| 岚皋县|