您好,登錄后才能下訂單哦!
這篇文章主要介紹“Redis中的慢查詢是什么”,在日常操作中,相信很多人在Redis中的慢查詢是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Redis中的慢查詢是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在其它Redis中的文章中已經(jīng)介紹過了一個Redis命令在執(zhí)行時要分4個步驟:
發(fā)送命令
命令排隊
命令執(zhí)行
返回結(jié)果
也就是如下圖所示:
備注:上面介紹的慢查詢指的是步驟3的時間,也就是Redis命令的執(zhí)行時間,所以在Redis中慢查詢的時間和客戶端的超時時間根本不是一回事。
慢查詢的配置參數(shù)
要想使用Redis中的慢查詢功能,我們要明白兩個事情:
怎么設置超時參數(shù)
記錄的日志目錄
在Redis中我們可以使用
showlog-log-slower-than
參數(shù)來設置命令的超時時間,并且這個超時時間的單位是微妙(1秒=1000毫秒=1000000微妙),
showlog-log-slower-than
參數(shù)有自己的默認值,默認為10000。也就是如果我們不修改Redis中任何參數(shù)時,當Redis中的執(zhí)行命令的時間超過10000微妙時,Redis就會將該條命令的信息記錄到日志中。
備注:如果當參數(shù)showlog-log-slower-than=0時,Redis則會記錄所有執(zhí)行的命令,如果當showlog-log-slower-than<0時,Redis則不會記錄任何執(zhí)行過的命令。
下面我們看一下Redis中慢查詢的日志存儲的位置。實際上在Redis中,當有慢查詢記錄命令的時候,并不是將信息存儲在某個真正的目錄中,而是將信息存儲到了一個列表中維護。而showlog-max-len參數(shù),就是該列表的最大長度。當慢查詢中的記錄數(shù)超過了showlog-max-len參數(shù)時,那么Redis會將該列表中最先存儲的信息刪除。
下面我們了解一下怎么設置上面提到的兩個參數(shù)。在Redis中修改上面配置參數(shù)有兩種辦法:
直接修改Redis中的配置文件
可以使用config set命令動態(tài)修改參數(shù)
下面我們了解一下怎么操作慢查詢中的列表。
1.獲取慢查詢?nèi)罩?/p>
slowlog get [n]
在Redis中slowlog命令的列表中主要記錄了4方面的信息,它們分別是慢查詢?nèi)罩镜臉俗Rid、發(fā)生時間、命令耗時、執(zhí)行命令、等信息。
2.獲取慢查詢?nèi)罩玖斜懋斍暗拈L度
slowlog len
3.慢查詢?nèi)罩局刂?/p>
slowlog reset
下面我們看一下我們在使用Redis中慢查詢功能的注意事項。
slow-max-len參數(shù):因為當Redis中慢查詢的信息過多時,Redis會清除之前的慢查詢列表中的信息,所以為了必免Redis有頻繁清除過多慢查詢信息的可能,slow-max-len參數(shù)相對來說可以設置的大一點,例如1000左右。
slowlog-log-slower-than參數(shù):因為該參數(shù)默認為10毫秒,也就是當Redis中的命令超過10毫秒時,Redis會被認為該命令為慢查詢。雖然10毫秒相對來說比較快,但在某些情況,我們可能會在將slowlog-log-slower-than參數(shù)調(diào)的小一些。例如大并發(fā)的時候。因為按照評測當Redis中的命令超過1毫秒時,那么當前Redis最多可支撐的QPS不到1000,所以在大并發(fā)時,我們可以將slowlog-log-slower-than參數(shù)調(diào)整為1毫秒。
因為慢查詢記錄的是命令的執(zhí)行時間,而不包括命令的排隊和網(wǎng)絡傳輸時間。所以客戶端命令的時間會大于命令的實際執(zhí)行時間。因為Redis單線程的架構及命令的排隊機制,所以慢查詢也可能會導致命令的阻塞。
因為慢查詢的信息是被記錄到了Redis中的一個列表中,并且是先進先出的。所以當Reids中的慢查詢過多時,曾經(jīng)記錄的慢查詢信息則會被刪除。所以為了保證我們的慢查詢信息不會丟失,我們可以不定期的執(zhí)行slow get命令將信息持久化存儲。
到此,關于“Redis中的慢查詢是什么”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。