自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一日一技:可視化分析 Redis Key 資源占用情況

大數(shù)據(jù) 數(shù)據(jù)可視化 Redis
Redis 在日常的開發(fā)中,會積累大量的 Key,占用不少內(nèi)存空間。有時候,我們想知道當(dāng)前 Redis 里面有多少個 Key,是哪個 Key 占用了最大的內(nèi)存。

 [[383970]]

Redis 在日常的開發(fā)中,會積累大量的 Key,占用不少內(nèi)存空間。有時候,我們想知道當(dāng)前 Redis 里面有多少個 Key,是哪個 Key 占用了最大的內(nèi)存。

但是,我們知道,由于 Redis 是單線程數(shù)據(jù)庫,所以在線上環(huán)境是絕對禁止使用keys *這種命令的,因?yàn)樗鼤ㄙM(fèi)很長時間掃描所有的 Key,在這個過程中,Redis 會卡死,無法處理其他的讀寫操作。

那么,我們應(yīng)該怎么知道當(dāng)前有多少個 Key 呢?有同學(xué)說可以使用scan命令。但這個命令一方面是需要寫程序來迭代,另一方面是它給出的結(jié)果可能是不準(zhǔn)確的。

也有同學(xué)會說,可以使用info keyspace命令,運(yùn)行效果如下圖所示:

確實(shí)可以看到有多少個 Key。不過另一個問題是,怎么知道哪個 Key 占用的內(nèi)存空間最大?

還有時候,Redis 里面可能有幾萬十幾萬個 Key,里面有些 Key 是可以刪掉的。但是由于我們不能使用keys命令查看當(dāng)前有哪些 Key,所以不知道這些可以刪掉的 Key 竟然還在。

實(shí)際上,這些問題,我們使用一個叫做RDR[1]的工具,都可以解決。在 RDR 的 Github 上,可以找到對應(yīng)系統(tǒng)的可執(zhí)行文件。我們以 Linux 版本為例來進(jìn)行說明。Linux 版本的可執(zhí)行文件地址為:https://github.com/xueqiu/rdr/releases/download/v0.0.1/rdr-linux,下載以后,賦予可執(zhí)行權(quán)限:

  1. cd ~ 
  2. wget https://github.com/xueqiu/rdr/releases/download/v0.0.1/rdr-linux 
  3. chmod +x rdr-linux 

接下來,我們需要找到dump.rdb文件。

Redis 默認(rèn)開啟了RDB方式的持久化儲存。滿足一定條件時,Redis 會把內(nèi)存中的數(shù)據(jù)存放到硬盤中,防止由于突然斷電導(dǎo)致數(shù)據(jù)丟失。默認(rèn)情況下,RDB 文件在/var/lib/redis/dump.rdb,這個文件只有 root 用戶可以讀取。

如果你現(xiàn)在不是 root 用戶,那么你可以把它復(fù)制出來,修改成當(dāng)前用戶,我的 Linux 系統(tǒng)當(dāng)前用戶名叫做 kingname,所在的用戶組也叫 kingname,所以可以執(zhí)行如下 shell 命令:

  1. cd ~ 
  2. sudo cp /var/lib/redis/dump.rdb ./ 
  3. sudo chown kingname:kinganme dump.rdb 

修改了用戶以后,現(xiàn)在我們讓 RDR 來讀取這個RDB 文件:

  1. ./rdr-linux show -p 8766 dump.rdb 

運(yùn)行效果如下圖所示:

現(xiàn)在,打開瀏覽器,打開http://IP:8766,就可以看到當(dāng)前 Redis 的各個 Key 的統(tǒng)計信息:

不僅可以看到Redis 有哪些 Key,還能看到每個 Key 里面有多少元素,大小是多少。

而且由于是分析的 RDB 文件,所以也完全不需要擔(dān)心對線上數(shù)據(jù)造成任何影響。

有了這個工具以后,要找出占用空間最大的 Key,就非常簡單了。

參考資料[1]RDR: https://github.com/xueqiu/rdr

 本文轉(zhuǎn)載自微信公眾號「未聞Code」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系未聞Code公眾號。

 

責(zé)任編輯:武曉燕 來源: 未聞Code
相關(guān)推薦

2021-10-08 20:11:40

類方法靜態(tài)

2021-10-15 21:08:31

PandasExcel對象

2021-04-27 22:15:02

Selenium瀏覽器爬蟲

2021-04-12 21:19:01

PythonMakefile項(xiàng)目

2023-10-28 12:14:35

爬蟲JavaScriptObject

2021-03-12 21:19:15

Python鏈?zhǔn)?/a>調(diào)用

2022-06-28 09:31:44

LinuxmacOS系統(tǒng)

2024-07-30 08:16:18

Python代碼工具

2021-09-13 20:38:47

Python鏈?zhǔn)?/a>調(diào)用

2021-04-05 14:47:55

Python多線程事件監(jiān)控

2024-11-13 09:18:09

2022-03-12 20:38:14

網(wǎng)頁Python測試

2021-04-19 23:29:44

MakefilemacOSLinux

2024-07-30 08:11:16

2024-11-11 00:38:13

Mypy靜態(tài)類型

2021-07-27 21:32:57

Python 延遲調(diào)用

2021-10-03 20:08:29

HTTP2Scrapy

2024-05-24 09:07:06

JSONprint字符串

2021-05-08 19:33:51

移除字符零寬

2024-07-19 18:23:17

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號