偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

聊一聊如何離線分析Redis緩存的空閑分布

開發(fā) 前端
對于設置了 LRU 相關策略的 Redis 實例才可以用這個方法去分析空閑分布,如果是 LFU 相關策略的,則無法看到空閑分布??!原因的話,object idletime 已經告訴我們了。

背景

我們在使用 Redis 的過程中,有時候會想要知道某些 key 是否長時間沒有被訪問,如果這些 key 長時間沒有人訪問,并且還占用了比較大的內存空間時,我們就會想及時的清理掉這些 key。

Redis 本身提供了一個 OBJECT IDLETIME 的命令可以讓我們來查詢某個 key 最后一次被訪問后的秒數。

https://redis.io/commands/object-idletime/

但是這個命令對于分析整個 Redis 實例時會顯得十分吃力,免不了 scan + object idletime 的組合。

如果能把這個時間從 rdb 文件讀出來再進行分析,可以有效減少對線上實例的影響,同時效率也會高不少。

下面來看看如何做到的。

RDB 說明

關鍵操作符

16進制

10進制

簡稱

說明

0xF8

248

IDLE

標識LRU的空閑時間

0xF9

249

FREQ

標識LFU的訪問頻率

其中 248 和 249 兩個是只會存在一個,但是它們又用的同一個數據結構,所以要把它們放在一起來說明。

下面再看看一個 key value 完整的“數據結構”

252 EXPIRE_TIME_MS|253 EXPIRE_TIME|249 LFU 或 248 LRU|xxx VALUE_TYPE|xxx KEY|xxx VALUE|

可以看到第三部分就是我們所需要的。

rdb-cli 分析

rdb-cli 是老黃寫的一個開源 rdb 文件分析器,源碼地址:https://github.com/catcherwong/rdb-tools,感興趣的可以關注一下。

rdb-cli 里面有兩個命令用于做這一塊的分析。

首先是

rdb-cli memory \
    -ot html \
    --sep-count 3 \
    /tmp/biz_a_20240301.rdb

執(zhí)行這個之后,會生成一個 res.html 文件,打開這個文件會看到下面兩個圖:

圖片圖片

這兩個圖就是所有 key 的空閑分布,可以看到,就數量而言,這個 redis 實例,有超過 100w 的 key 是在 7天內沒有過訪問的??!

有這個大致分布,但是還看不到具體的細節(jié),所以我們要用另外一個命令來看具體是那些 key 這么離譜。

rdb-cli csv \
    --min-idle 604800 \
    /tmp/biz_a_20240301.rdb

執(zhí)行這個之后,會生成一個 dump.csv 文件,打開這個文件可以看到下面的內容:

圖片圖片

著重看 idle 這一列,單位是秒。

可以看到超過 7天 沒訪問的,最長的有 16693102 秒,換算成天,是 193 天,接近 200 天。這種數據就不應該存在 redis 里面!

兩個命令,用起來還算是比較方便的,也比較快得到結果,當然上述兩個命令還有其他的過濾條件可以結合使用,用 -h 即可查看。

小結

對于設置了 LRU 相關策略的 Redis 實例才可以用這個方法去分析空閑分布,如果是 LFU 相關策略的,則無法看到空閑分布?。?/p>

原因的話,object idletime 已經告訴我們了。

責任編輯:武曉燕 來源: 不才老黃
相關推薦

2022-03-08 16:10:38

Redis事務機制

2018-04-25 09:01:02

2020-01-17 09:07:14

分布式系統(tǒng)網絡

2022-05-12 23:19:15

Redis內存碎片處理

2023-03-06 21:23:23

Redis數據庫

2019-12-13 10:50:49

集群Redis存儲

2023-03-05 18:40:39

iptables防火墻軟件

2021-08-11 09:37:11

Redis持久化磁盤

2022-05-18 16:35:43

Redis內存運維

2020-12-29 05:33:40

TomcatSpringBoot代碼

2018-05-16 08:58:04

用戶畫像存儲

2023-07-06 13:56:14

微軟Skype

2020-09-08 06:54:29

Java Gradle語言

2020-01-07 08:31:52

代碼分層Web

2018-11-30 12:48:36

SDS故障硬件

2021-01-28 22:31:33

分組密碼算法

2023-09-22 17:36:37

2020-05-22 08:16:07

PONGPONXG-PON

2018-06-07 13:17:12

契約測試單元測試API測試

2023-12-12 07:13:39

雪花算法分布式ID
點贊
收藏

51CTO技術棧公眾號