Redis慢日志的實(shí)現(xiàn)示例
SLOWLOG 是用來(lái)讀取和重置 Redis 慢查詢?nèi)罩镜拿睿琑edis 2.2.12 版本開(kāi)始支持
1.Redis 慢查詢?nèi)罩靖攀?/h2>
客戶端從發(fā)送命令到獲取返回結(jié)果經(jīng)過(guò)了以下幾個(gè)步驟:
1. 客戶端發(fā)送命令
2. 該命令進(jìn)入 Redis 隊(duì)列排隊(duì)等待執(zhí)行
3. Redis 開(kāi)始執(zhí)行命令 - Redis 命令執(zhí)行完成
4. 命令執(zhí)行結(jié)果返回給客戶端
Redis 慢查詢?nèi)罩窘y(tǒng)計(jì)的時(shí)間,只包含第三步的 Redis 命令從開(kāi)始執(zhí)行到執(zhí)行完成的時(shí)間。
2.慢查詢?nèi)罩镜膬蓚€(gè)配置項(xiàng)
slowlog-log-slower-than
Redis 慢查詢?nèi)罩镜臅r(shí)間閾值,單位微妙。
1) 值為正數(shù),執(zhí)行時(shí)間大于該值設(shè)置的微秒時(shí)才記錄到慢日志中。默認(rèn) 10000 微秒(0.01 秒)。
2) 值為負(fù)數(shù),禁用慢查詢?nèi)罩尽?/p>
3) 值為 0,所有命令都記錄到慢日志中
slowlog-max-len
慢查詢?nèi)罩鹃L(zhǎng)度,最小值為零。默認(rèn) 128
當(dāng)記錄新命令并且當(dāng)前慢日志已達(dá)到最大長(zhǎng)度時(shí),最舊的一條記錄將被刪除。
可以通過(guò)編輯 redis.conf 或者使用 CONFIG GET/SET 命令來(lái)進(jìn)行配置
127.0.0.1:6379> config get slowlog-log-slower-than 1) "slowlog-log-slower-than" 2) "10000" 127.0.0.1:6379> config get slowlog-max-len 1) "slowlog-max-len" 2) "128"
127.0.0.1:6379> config set slowlog-log-slower-than 0 OK 127.0.0.1:6379> config set slowlog-max-len 10 OK
3.讀取慢日志記錄
慢查詢?nèi)罩臼怯涗浽趦?nèi)存中的,記錄速度非???。
可以使用 SLOWLOG GET N 命令來(lái)讀取慢日志,查詢最近的 N 條記錄。
該命令默認(rèn)請(qǐng)求條數(shù)為 10 ,即 SLOWLOG GET 等價(jià)于 SLOWLOG GET 10
參數(shù)為 -1 時(shí)會(huì)獲取整個(gè)慢日志信息。
日志輸出格式
127.0.0.1:6379> slowlog get 2 1) 1) (integer) 13 2) (integer) 1629523068 3) (integer) 6 4) 1) "get" 2) "a" 5) "127.0.0.1:43942" 6) "lnrcoder"
1)每條日志唯一標(biāo)識(shí)符
2)命令執(zhí)行時(shí)的時(shí)間戳
3)命令執(zhí)行消耗的時(shí)間,單位微秒
4)執(zhí)行的命令數(shù)組
5)客戶端地址和端口 (僅 4.0 以上版本支持)
6)客戶端名稱 (僅 4.0 以
127.0.0.1:6379> slowlog len (integer) 10 127.0.0.1:6379> slowlog reset OK 127.0.0.1:6379> slowlog len (integer) 0
上版本支持,默認(rèn)名稱為空,需要通過(guò) client setname 命令進(jìn)行設(shè)置)
4.查詢慢日志記錄長(zhǎng)度
使用 SLOWLOG LEN 可以獲取慢日志記錄的長(zhǎng)度。
127.0.0.1:6379> slowlog len (integer) 2
5.重置慢日志
使用 SLOWLOG RESET 命令用來(lái)重置慢日志。使用該命令進(jìn)行日志重置后,信息將永遠(yuǎn)丟失。
127.0.0.1:6379> slowlog len (integer) 10 127.0.0.1:6379> slowlog reset OK 127.0.0.1:6379> slowlog len (integer) 0
到此這篇關(guān)于Redis慢日志的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Redis慢日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用lua+redis解決發(fā)多張券的并發(fā)問(wèn)題
這篇文章主要介紹了使用lua+redis解決發(fā)多張券的并發(fā)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Redis過(guò)期鍵與內(nèi)存淘汰策略深入分析講解
因?yàn)閞edis數(shù)據(jù)是基于內(nèi)存的,然而內(nèi)存是非常寶貴的資源,然后我們就會(huì)對(duì)一些不常用或者只用一次的數(shù)據(jù)進(jìn)行存活時(shí)間設(shè)置,這樣才能提高內(nèi)存的使用效率,下面這篇文章主要給大家介紹了關(guān)于Redis中過(guò)期鍵與內(nèi)存淘汰策略,需要的朋友可以參考下2022-11-11Redis RDB快照持久化及寫(xiě)操作禁止問(wèn)題排查與解決
本文主要介紹了Redis RDB快照持久化及寫(xiě)操作禁止問(wèn)題排查與解決,由于?stop-writes-on-bgsave-error?選項(xiàng)處于啟用狀態(tài),所以寫(xiě)操作被禁止,下面就來(lái)介紹一下,感興趣的可以了解一下2025-04-04高效異步redis客戶端aredis優(yōu)劣勢(shì)原理解析
這篇文章主要介紹了高效異步redis客戶端aredis優(yōu)劣勢(shì)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09Redis集群的三種部署方式及三種應(yīng)用問(wèn)題的處理
這篇文章主要介紹了Redis集群的三種部署方式及三種應(yīng)用問(wèn)題的處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04redis集群主從節(jié)點(diǎn)自動(dòng)切換方式
這篇文章主要介紹了redis集群主從節(jié)點(diǎn)自動(dòng)切換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Redis配置文件redis.conf詳細(xì)配置說(shuō)明
本文列出了Redis的配置文件redis.conf的各配置項(xiàng)的詳細(xì)說(shuō)明,簡(jiǎn)單易懂2018-03-03分布式利器redis及redisson的延遲隊(duì)列實(shí)踐
這篇文章為大家主要介紹了分布式利器redis及redisson的延遲隊(duì)列實(shí)踐,搜遍全網(wǎng)好像還沒(méi)有使用redisson的延遲隊(duì)列的,redisson作為一個(gè)分布式利器,這么好用的工具沒(méi)人用有點(diǎn)可惜2022-03-03Redis實(shí)現(xiàn)用戶關(guān)注的項(xiàng)目實(shí)踐
本文主要介紹了Redis實(shí)現(xiàn)用戶關(guān)注的項(xiàng)目實(shí)踐,通過(guò)使用Redis的set數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)關(guān)注對(duì)象,方便高效地進(jìn)行添加和取消關(guān)注操作,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02