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

基于redis key占用內(nèi)存量分析

 更新時間:2020年11月24日 17:04:33   作者:4kgurbby  
這篇文章主要介紹了基于redis key占用內(nèi)存量分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Redis的指令看不出哪一類型的key,占用了多少內(nèi)存,不好分析redis內(nèi)存開銷大的情況下,各應(yīng)用程序使用緩存的占比。

借助第3方工具進(jìn)行分析

1、采用2個工具結(jié)合

redis-rdb-tools+sqlite

2、sqlite linux服務(wù)器都會自帶,安裝redis-rdb-tools

使用pip安裝 pip install redis-rdb-tools

源碼安裝

git clone https://github.com/sripathikrishnan/redis-rdb-tools

cd redis-rdb-tools

python setup.py install

如果不成功安裝 yum install python-setuptools

3、獲取對應(yīng)redis的rdb文件,使用redis-rdb-tools生成內(nèi)存快照

rdb -c memory dump.rdb > memory.csv

注意:內(nèi)存使用量是理論上的近似值,在一般情況下,略低于實(shí)際值

4、把數(shù)據(jù)導(dǎo)入sqlite(mysql數(shù)據(jù)庫實(shí)際上都能導(dǎo)入),sqlite語法和mysql基本一致

splite3 test.db
sqlite> create table memory(database int,type varchar(128),key varchar(128),size_in_bytes int,encoding varchar(128),num_elements int,len_largest_element varchar(128),time varchar(128));
sqlite>.mode csv memory
sqlite>.import memory.csv memory

5、查詢

查詢key個數(shù)

sqlite>select count(*) from memory;

查詢總的內(nèi)存占用

sqlite> select sum(size_in_bytes) from memory;

查詢內(nèi)存占用最高的10個key

sqlite>select * from memory order by size_in_bytes desc limit 10;

補(bǔ)充知識:Redis使用量暴增,快速定位有哪些大key在作怪

發(fā)現(xiàn)redis使用量突然暴增,于是緊急擴(kuò)容redis,不能影響服務(wù)運(yùn)行。擴(kuò)容之后,趕緊查找原因,突破口就是尋找存在哪些大key。

1. 將redis的dump.rdb文件下載到本地(一般redis的持久化文件以rdb的方式存儲,在redis配置文件可以找到dump.rdb的存儲路徑)。

2. 用rdbtools工具生產(chǎn)內(nèi)存報告,命令是 rdb -c memory,例子:

sudo rdb -c memory /redisfile/dump.rdb >test.csv

注意:rdb文件越大,生成時間越長。

Rdbtools是以python語言開發(fā)的。

GITHUP地址:https://github.com/sripathikrishnan/redis-rdb-tools/

3. 內(nèi)存報告生成后,結(jié)合用linux sort命令排序,根據(jù)內(nèi)存列排序,找出最高的key有哪些。例子:

sudo sort -k4nr -t , test.csv > sort.txt

4. 查看前1000個排序最高的數(shù)據(jù)

awk -F ',' '{print substr($3, 0,18)}' sort.txt | head -1000 | sort -k1 | uniq

5. 查看sort.txt的結(jié)果,一般能得出類似‘my_rank_top'開頭的集合占用最高,排在了前面。

若要查看類似‘my_rank_top'開頭的key總共占用了多少內(nèi)存,可以用命令:

sudo cat sort.txt | grep ‘my_rank_top' | awk -F ',' '{sum += $4};END {print sum}'

6. 得知了my_rank_top這樣的key占用最多內(nèi)存,而且很可能是業(yè)務(wù)已經(jīng)不再需要,但是長期在內(nèi)存中沒清理的,我們可以刪除了這些集合。可以用模糊匹配key來刪除,命令如下:

redis-cli -h 127.0.0.1 -p 6379 keys 'my_ranking_list*' | xargs redis-cli -h 127.0.0.1 -p 6379 del

另附:在本地啟動redis加載dump.rdb文件時,一直load失敗。搞了很長時間,終于找到原因:redis配置文件里databases要修改為256,本地默認(rèn)是16,而產(chǎn)生原始dump.rdb的redis的databases就是25。

以上這篇基于redis key占用內(nèi)存量分析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)動態(tài)數(shù)字時鐘

    Java實(shí)現(xiàn)動態(tài)數(shù)字時鐘

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)動態(tài)數(shù)字時鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • MyBatis-Plus如何實(shí)現(xiàn)自動加密解密

    MyBatis-Plus如何實(shí)現(xiàn)自動加密解密

    這篇文章主要介紹了MyBatis-Plus實(shí)現(xiàn)自動加密解密方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot Import及自定義裝配實(shí)現(xiàn)方法解析

    SpringBoot Import及自定義裝配實(shí)現(xiàn)方法解析

    這篇文章主要介紹了SpringBoot Import及自定義裝配實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot中的自定義Banner詳細(xì)解析

    SpringBoot中的自定義Banner詳細(xì)解析

    這篇文章主要介紹了SpringBoot中的自定義Banner詳細(xì)解析,Banner即橫幅標(biāo)語,我們在啟動SpringBoot項(xiàng)目時會將Banner信息打印至控制臺,我們可以輸出一些圖形、SpringBoot版本信息等內(nèi)容,需要的朋友可以參考下
    2024-01-01
  • spring對JDBC和orm的支持實(shí)例詳解

    spring對JDBC和orm的支持實(shí)例詳解

    這篇文章主要介紹了spring對JDBC和orm的支持實(shí)例詳解,需要的朋友可以參考下
    2017-09-09
  • Spring Boot jar可執(zhí)行原理的徹底分析

    Spring Boot jar可執(zhí)行原理的徹底分析

    這篇文章主要給大家介紹了關(guān)于Spring Boot jar可執(zhí)行原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • java實(shí)現(xiàn)簡單的猜數(shù)字小游戲

    java實(shí)現(xiàn)簡單的猜數(shù)字小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 詳解在Spring-Boot中實(shí)現(xiàn)通用Auth認(rèn)證的幾種方式

    詳解在Spring-Boot中實(shí)現(xiàn)通用Auth認(rèn)證的幾種方式

    這篇文章主要介紹了詳解在Spring-Boot中實(shí)現(xiàn)通用Auth認(rèn)證的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Eclipse安裝Free marker插件教程

    Eclipse安裝Free marker插件教程

    這篇文章主要為大家詳細(xì)介紹了Eclipse安裝Free marker插件教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • springboot使用kafka事務(wù)的示例代碼

    springboot使用kafka事務(wù)的示例代碼

    Kafka?同數(shù)據(jù)庫一樣支持事務(wù),當(dāng)發(fā)生異常的時候可以進(jìn)行回滾,確保消息監(jiān)聽器不會接收到一些錯誤的或者不需要的消息,本文就來介紹一下springboot使用kafka事務(wù)的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06

最新評論