五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)
一分鐘搞懂Redis的慢查詢?nèi)罩静僮?/h1>
發(fā)布日期:2022-02-02 17:48 | 文章來(lái)源:gibhub

什么是慢查詢?

慢查詢,顧名思義就是比較慢的查詢,但是究竟是哪里慢呢?首先,我們了解一下Redis命令執(zhí)行的整個(gè)過(guò)程:

  • 發(fā)送命令
  • 命令排隊(duì)
  • 命令執(zhí)行
  • 返回結(jié)果

在慢查詢的定義中,統(tǒng)計(jì)比較慢的時(shí)間段指的是命令執(zhí)行這個(gè)步驟。沒(méi)有慢查詢,并不表示客戶端沒(méi)有超時(shí)問(wèn)題,有可能網(wǎng)絡(luò)傳輸有延遲,也有可能排隊(duì)的命令比較多。

因?yàn)镽edis中命令執(zhí)行的排隊(duì)機(jī)制,慢查詢會(huì)導(dǎo)致其他命令的級(jí)聯(lián)阻塞,所以當(dāng)客戶端出現(xiàn)請(qǐng)求超時(shí)的時(shí)候,需要檢查該時(shí)間點(diǎn)是否有慢查詢,從而分析出由于慢查詢導(dǎo)致的命令級(jí)聯(lián)阻塞。

什么是慢查詢?nèi)罩荆?/h3>

慢查詢?nèi)罩臼荝edis服務(wù)端在命令執(zhí)行前后計(jì)算每條命令的執(zhí)行時(shí)長(zhǎng),當(dāng)超過(guò)某個(gè)閾值是記錄下來(lái)的日志。日志中記錄了慢查詢發(fā)生的時(shí)間,還有執(zhí)行時(shí)長(zhǎng)、具體什么命令等信息,它可以用來(lái)幫助開發(fā)和運(yùn)維人員定位系統(tǒng)中存在的慢查詢。

如何獲取慢查詢?nèi)罩荆?/h3>

可以使用slowlog get命令獲取慢查詢?nèi)罩?,?code>slowlog get后面還可以加一個(gè)數(shù)字,用于指定獲取慢查詢?nèi)罩镜臈l數(shù),比如,獲取3條慢查詢?nèi)罩荆?/p>

> slowlog get 3
1) 1) (integer) 6107
   2) (integer) 1616398930
   3) (integer) 3109
   4) 1) "config"
      2) "rewrite"
2) 1) (integer) 6106
   2) (integer) 1613701788
   3) (integer) 36004
   4) 1) "flushall"
3) 1) (integer) 6105
   2) (integer) 1608722338
   3) (integer) 20449
   4) 1) "scan"
      2) "0"
      3) "MATCH"
      4) "*comment*"
      5) "COUNT"
      6) "10000"

從上面的例子中,可以看出每一條慢查詢?nèi)罩径加?個(gè)屬性組成:

  • 唯一標(biāo)識(shí)ID
  • 命令執(zhí)行的時(shí)間戳
  • 命令執(zhí)行時(shí)長(zhǎng)
  • 執(zhí)行的命名和參數(shù)

如何獲取慢查詢?nèi)罩镜拈L(zhǎng)度?

可以使用slowlog len命令獲取慢查詢?nèi)罩镜拈L(zhǎng)度,比如:

> slowlog len
(integer) 121

在上例中,當(dāng)前Redis中有121條慢查詢?nèi)罩尽?/p>

如何清理慢查詢?nèi)罩荆?/h3>

可以使用slowlog reset命令清理慢查詢?nèi)罩?,比如?/p>

> slowlog len
(integer) 121
> slowlog reset
OK
> slowlog len
(integer) 0

怎么配置慢查詢的參數(shù)?

正如上面提到的,慢查詢需要如下兩個(gè)配置:

  • 命令執(zhí)行時(shí)長(zhǎng)的指定閾值。
  • 存放慢查詢?nèi)罩镜臈l數(shù)。

Redis對(duì)應(yīng)提供了兩個(gè)參數(shù):slowlog-log-slower-than和slowlog-max-len,接下來(lái)我們?cè)敿?xì)介紹一下這兩個(gè)參數(shù)。

slowlog-log-slower-than

slowlog-log-slower-than的作用是指定命令執(zhí)行時(shí)長(zhǎng)的閾值,執(zhí)行命令的時(shí)長(zhǎng)超過(guò)這個(gè)閾值時(shí)就會(huì)被記錄下來(lái)。它的單位是微秒(1秒 = 1000毫秒 = 1000000微秒),默認(rèn)是10000微秒。如果把slowlog-log-slower-than設(shè)置為0,將會(huì)記錄所有命令到日志中。如果把slowlog-log-slower-than設(shè)置小于0,將會(huì)不記錄任何命令到日志中。

在實(shí)際的生產(chǎn)環(huán)境中,需要根據(jù)Redis并發(fā)量來(lái)調(diào)整該配置。因?yàn)镽edis采用單線程響應(yīng)命令,如果命令執(zhí)行時(shí)間在1000微秒以上,那么Redis最多可支撐OPS不到1000,所以對(duì)于高并發(fā)場(chǎng)景的Redis建議設(shè)置為1000微秒

slowlog-max-len

slowlog-max-len的作用是指定慢查詢?nèi)罩咀疃啻鎯?chǔ)的條數(shù)。實(shí)際上,Redis使用了一個(gè)列表存放慢查詢?nèi)罩?,slowlog-max-len就是這個(gè)列表的最大長(zhǎng)度。當(dāng)一個(gè)新的命令滿足滿足慢查詢條件時(shí),被插入這個(gè)列表中。當(dāng)慢查詢?nèi)罩玖斜硪呀?jīng)達(dá)到最大長(zhǎng)度時(shí),最早插入的那條命令將被從列表中移出。比如,slowlog-max-len被設(shè)置為10,當(dāng)有第11條命令插入時(shí),在列表中的第1條命令先被移出,然后再把第11條命令放入列表。

記錄慢查詢是Redis會(huì)對(duì)長(zhǎng)命令進(jìn)行截?cái)?,不?huì)大量占用大量?jī)?nèi)存。在實(shí)際的生產(chǎn)環(huán)境中,為了減緩慢查詢被移出的可能和更方便地定位慢查詢,建議將慢查詢?nèi)罩镜拈L(zhǎng)度調(diào)整的大一些。比如可以設(shè)置為1000以上。

如何進(jìn)行配置

在Redis中有兩個(gè)修改配置的方法:

slowlog-log-slower-than 1000
slowlog-max-len 1200

修改Redis配置文件。比如,把slowlog-log-slower-than設(shè)置為1000,slowlog-max-len設(shè)置為1200:

使用config set命令動(dòng)態(tài)修改。比如,還是把slowlog-log-slower-than設(shè)置為1000,slowlog-max-len設(shè)置為1200:

> config set slowlog-log-slower-than 1000
OK
> config set slowlog-max-len 1200
OK
> config rewrite
OK

如果要Redis把配置持久化到本地配置文件,需要執(zhí)行config rewrite命令。

總結(jié)

慢查詢指的是命令執(zhí)行時(shí)長(zhǎng)比較長(zhǎng)的查詢。通過(guò)slowlog get命令獲取慢查詢?nèi)罩?;通過(guò)slowlog len命令獲取慢查詢?nèi)罩镜拈L(zhǎng)度;通過(guò)slowlog reset命令清理慢查詢?nèi)罩?。通過(guò)slowlog-log-slower-than配置命令執(zhí)行時(shí)長(zhǎng)的閾值;通過(guò)slowlog-max-len配置慢查詢?nèi)罩咀疃啻鎯?chǔ)的條數(shù)。

到此這篇關(guān)于一分鐘搞懂Redis的慢查詢?nèi)罩静僮鞯奈恼戮徒榻B到這了,更多相關(guān)Redis 慢查詢內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

香港穩(wěn)定服務(wù)器

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部