欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis慢查詢的實現(xiàn)

 更新時間:2023年07月07日 09:14:22   作者:丶重明  
本文主要介紹了Redis慢查詢的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Redis版本為6.2

1.什么是Redis慢查詢

Redis慢查詢是Redis提供的一項性能優(yōu)化功能,它可以記錄某個查詢語句的執(zhí)行時間、命令參數(shù)、執(zhí)行次數(shù)等信息,從而幫助運維人員快速定位某個查詢語句的性能問題。

Redis慢查詢的原理是基于Redis的事務(wù)機制實現(xiàn)的。Redis的事務(wù)機制可以保證多個操作要么全部執(zhí)行,要么全部不執(zhí)行,這樣就避免了在操作過程中發(fā)生的一些競態(tài)條件,提高了數(shù)據(jù)的一致性。

同時,事務(wù)機制也會開啟一個事務(wù)日志記錄每個操作的詳細信息,這樣就可以記錄每個查詢語句的執(zhí)行時間和執(zhí)行次數(shù)等信息,從而實現(xiàn)慢查詢功能。

慢查詢的作用主要有兩個:

1??:快速定位某個查詢語句的性能問題,從而優(yōu)化或者調(diào)整該查詢語句,提高查詢性能;

2??:二是避免出現(xiàn)因為某個查詢語句性能問題導(dǎo)致的服務(wù)不穩(wěn)定或者雪崩效應(yīng)。

總之,Redis慢查詢是一項非常實用的性能優(yōu)化功能,對于Redis的使用和維護都非常重要。

2.慢查詢的相關(guān)配置參數(shù)

slowlog-log-slower-than 10000

這個參數(shù)的單位為微秒,因此設(shè)置為1000000(即100毫秒)意味著記錄每個命令100毫秒內(nèi)的活動。如果將這個值設(shè)置為負數(shù),則會禁用慢日志功能;如果將其設(shè)置為0,則會強制記錄每個命令。

即超過由該參數(shù)指定時間的查詢會記錄到日志中

slowlog-max-len 128

表示在慢查詢?nèi)罩纠锟梢杂涗浀娜罩緱l數(shù),當(dāng)慢查詢?nèi)罩镜臄?shù)量已經(jīng)達到該參數(shù)、新的慢查詢?nèi)罩镜竭_時,就會把最老的一條日志刪除

3.慢查詢實戰(zhàn)

因為測試,所以數(shù)值調(diào)整較小,實際情況根據(jù)自身環(huán)境調(diào)整

修改redis.conf配置文件

slowlog-log-slower-than 1
slowlog-max-len 100

如果沒修改配置文件也可以用命令修改(二選一即可)

127.0.0.1:6379> config set slowlog-log-slower-than 1
OK
127.0.0.1:6379> config set slowlog-max-len 100
OK
127.0.0.1:6379> config rewrite
OK

config rewrite意思是將上面兩條配置寫入配置文件

啟動redis服務(wù)器

[root@localhost redis-6.2.12]# redis-server redis.conf 
[root@localhost redis-6.2.12]# ss -utpln | grep 6379
tcp    LISTEN     0      511    127.0.0.1:6379                  *:*                   users:(("redis-server",pid=1364,fd=6))
tcp    LISTEN     0      511       [::1]:6379               [::]:*                   users:(("redis-server",pid=1364,fd=7))

配置好兩個參數(shù)后,使用slowlog get命令觀察慢查詢

[root@localhost ~]# redis-cli
127.0.0.1:6379> set name003 beibei
OK
127.0.0.1:6379> get name003
"beibei"
127.0.0.1:6379> SLOWLOG get
1) 1) (integer) 2
   2) (integer) 1687316394
   3) (integer) 12
   4) 1) "get"
      2) "name003"
   5) "127.0.0.1:47312"
   6) ""
2) 1) (integer) 1
   2) (integer) 1687316389
   3) (integer) 37
   4) 1) "set"
      2) "name003"
      3) "beibei"
   5) "127.0.0.1:47312"
   6) ""
3) 1) (integer) 0
   2) (integer) 1687316212
   3) (integer) 1437
   4) 1) "COMMAND"
   5) "127.0.0.1:47312"
   6) ""

以上內(nèi)容即為慢查詢的日志,我們拿出一段作為講解:

1) 1) (integer) 2
   2) (integer) 1687316394
   3) (integer) 12
   4) 1) "get"
      2) "name003"
   5) "127.0.0.1:47312"
   6) ""

1??:一行是慢查詢?nèi)罩綢D
2??:二行是該命令運行的時間戳
3??:三行是該命令的運行時長
4??5??:四五行是返回的命令及對應(yīng)的參數(shù)
6??:六行是執(zhí)行該命令客戶端地址
7??:七行是客戶端名稱,沒有即為空

4.慢查詢相關(guān)命令

slowlog get

返回所有慢查詢?nèi)罩?/p>

slowlog get n

獲取指定第n條慢查詢的日志

slowlog len

獲取慢查詢?nèi)罩镜拈L度

slowlog reset

清空慢查詢?nèi)罩?/p>

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

相關(guān)文章

  • Redis分布式緩存與秒殺

    Redis分布式緩存與秒殺

    這篇文章主要介紹了Redis分布式緩存與秒殺,單點Redis的問題,主要有數(shù)據(jù)丟失,并發(fā)能力,故障恢復(fù),存儲能力,想進一步了解的同學(xué),可以借鑒本文
    2023-04-04
  • Redis分布式鎖使用及說明

    Redis分布式鎖使用及說明

    本文總結(jié)了Redis和Zookeeper在高可用性和高一致性場景下的應(yīng)用,并詳細介紹了Redis的分布式鎖實現(xiàn)方式,包括使用Lua腳本和續(xù)期機制,最后,提到了RedLock算法的適用場景和缺點
    2025-01-01
  • Deepin UOS編譯安裝Redis的實現(xiàn)步驟

    Deepin UOS編譯安裝Redis的實現(xiàn)步驟

    本文主要介紹了Deepin UOS編譯安裝Redis的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • redis中使用bloomfilter的白名單功能解決緩存穿透問題

    redis中使用bloomfilter的白名單功能解決緩存穿透問題

    本文主要介紹了redis中使用bloomfilter的白名單功能解決緩存穿透問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • redis實現(xiàn)session共享的方法

    redis實現(xiàn)session共享的方法

    本文主要介紹了redis實現(xiàn)session共享的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Redis列表類型的常用命令小結(jié)

    Redis列表類型的常用命令小結(jié)

    這篇文章給大家整理了在操作Redis列表類型中的常用命令,文章總結(jié)的很全面,對大家學(xué)習(xí)Redis具有一定的參考借鑒價值,下面來一起看看吧。
    2016-09-09
  • 為Java項目添加Redis緩存的方法

    為Java項目添加Redis緩存的方法

    Redis一般有Linux和Windows兩種安裝方式,本文就這兩種方式給大家詳細介紹,對java項目添加redis緩存相關(guān)知識,感興趣的朋友一起看看吧
    2021-05-05
  • 使用redis實現(xiàn)附近的人功能

    使用redis實現(xiàn)附近的人功能

    這篇文章主要介紹了使用redis實現(xiàn)附近的人,實現(xiàn)諸如附近的人這類依賴于地理位置信息的功能,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • 使用注解實現(xiàn)Redis緩存功能

    使用注解實現(xiàn)Redis緩存功能

    這篇文章主要為大家詳細介紹了使用注解實現(xiàn)Redis緩存功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 如何打造redis緩存組件

    如何打造redis緩存組件

    文章介紹了如何使用熱插拔AOP、反射、Redis自定義注解和SpringEL表達式來打造一個優(yōu)雅的Redis緩存組件,通過這種方式,可以重構(gòu)和簡化緩存代碼,并提供了Redis配置和自定義注解的詳細說明,文章還包含了AOP測試的總結(jié),并鼓勵讀者參考和支持
    2024-12-12

最新評論