操作系统:Centos7   

1.redis-rdb-tools工具是用python语言编写的,所以首先需要安装python:

安装:

(1)用 wget 下载 python 2.7 并解压( 如果没有 wget,先用下面命令安装 wget )

yum -y install wget

(2)进入目录 /usr/src  再用 wget 下载 python 2.7

   cd  /usr/src/

wget http://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz

 

(3)再解压 python2.7

   tar -zxvf Python-2.7.15.tgz

(4)安装 python 2.7

进入上面解压的 Python-2.7.15 解压文件中使用下面命令行安装

cd Python-2.7.15

./configure --enable-optimizations

make altinstall

(5)查看Python版本

python -V

可以看到输出 Python 2.7.15 就安装完成

2.使用pip安装rdb-tools

(1)安装依赖

sudo yum install python3-devel

(2)安装python-lzf

sudo pip3 install python-lzf

(3)安装rdbtools

sudo pip3 install rdbtools

3.使用rdb-tools工具分析rdb文件

(1)将rdb文件转成csv文件     (/mnt/data/redis  是存放redis持久化文件的路径)

rdb -c memory /mnt/data/redis/dump.rdb >  /mnt/data/redis/memory.csv

可以看到,用工具转化成csv文件后,会划分成8个列,分别是:

database:数据库编号
type:数据类型
key:键
size_in_bytes:使用的内存:包括键,值和任何其他开销
encoding:RDB编码类型
num_elements:key中的value的个数
len_largest_element:key中的value的长度
expiry:过期值

  

(2)将rdb文件转成json文件

rdb -c json /mnt/data/redis/dump.rdb >  /mnt/data/redis/du.json

(3)查找特定键使用的内存

redis-memory-for-key -s  IP  -p 6379 Key

可以看出特定的key的大小、类型

(5)查看指定数据库中的key:value

rdb -c justkeyvals dump.rdb -n 0     //查看0号数据库中的key

(6)查看通过正则表达式匹配的key:value

rdb --command justkeyvals --key ".*key*" dump.rdb    //不要漏掉点 “."

(7) 导出内存字节排名前3的keys:

rdb --command memory --largest 3 dump.rdb

(8)导出字节大于128的key:

rdb --command memory --bytes 128 dump.rdb

(9)导出rdb中的keys:

rdb -c justkeys dump.rdb|uniq

(10)导出rdb中的values:

rdb -c justkeyvals dump.rdb

Redis内存分析工具之redis-rdb-tools的安装与使用的更多相关文章

  1. redis内存分析工具rdbtools

    当Redis的内存已经快满的时候,我们能做什么呢? 最直接的方法就是分析一下Redis内存的构成,看是哪些键比较大,或者比较多,然后考虑一下对应的功能能不能优化,例如减少超时时间,例如不必要的数据不用 ...

  2. Redis内存分析工具—redis-rdb-tools (转载http://www.voidcn.com/article/p-axfdqxmd-bro.html)

    redis-rdb-tools是由Python写的用来分析Redis的rdb快照文件用的工具,它可以把rdb快照文件生成json文件或者生成报表用来分析Redis的使用详情.使用标准的diff工具比较 ...

  3. Redis内存分析工具redis-rdb-tools

    一.安装redis-rdb-tools(项目地址:github) # git clone https://github.com/sripathikrishnan/redis-rdb-tools# cd ...

  4. 安装Redis内存分析工具rdbtools

    一.安装Python2.7 1. wget http://10.12.29.98:8090/tools/Python-2.7.11.tgz 2. ln -s /usr/local/python2.7/ ...

  5. 内存分析工具MAT(Memory Analyzer Tool)从安装到使用

    一.安装 首先,你得有一个Eclipse(因为MAT是Eclipse的插件) 然后,你要在Eclipse上安装MAT,步骤如下: 1.点击Help,Install New Soft,就出现了以下Ins ...

  6. JS内存泄漏 和Chrome 内存分析工具简介(摘)

    原文地址:http://web.jobbole.com/88463/ JavaScript 中 4 种常见的内存泄露陷阱   原文:Sebastián Peyrott 译文:伯乐在线专栏作者 - AR ...

  7. Android 内存分析工具 MAT(Memory Analyzer Tool)

    如果使用DDMS确实发现了我们的程序中存在内存泄漏,那又如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾的分析代码逻辑,那肯定 会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一 ...

  8. Android内存分析工具DDMS heap + MAT 安装和使用

    一  Java内存分析工具扫盲 如果像我一样一点都不了解,可以先进行内存分析工具扫盲   MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储 ...

  9. android--------Eclipse中ddms heap内存分析工具

    无 论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方. Android tools中的DDMS就带有一个很不错的内存监测工具Heap ...

随机推荐

  1. HMAC在“挑战/响应”(Challenge/Response)身份认证的应用

    HMAC的一个典型应用是用在"挑战/响应"(Challenge/Response)身份认证中. 认证流程 (1) 先由客户端向服务器发出一个验证请求. (2) 服务器接到此请求后生 ...

  2. Linux编译安装、压缩打包、定时任务管理

    编译安装 压缩打包 定时任务管理 一.编译安装 使用源代码,编译打包软件 1.特点 1.可以定制软件 2.按需构建软件 2.编译安装 1.下载源代码包 wget https://nginx.org/d ...

  3. socket模块实现基于UDP聊天模拟程序;socketserver模块实现服务端 socket客户端代码示例

    socket模块 serSocket.setblocking(False) 设置为非阻塞: #coding=utf-8 from socket import * import time # 用来存储所 ...

  4. jQuery Validate表单验证判断是否验证通过

    只判断某个字段是否验证通过,可以参考:https://www.cnblogs.com/pxblog/p/13801171.html <form action="" metho ...

  5. C语言读写二进制文件

    fseek用法 fseek用来移动文件指针.函数原型 int fseek(FILE * stream, long offset, int fromwhere); 参数解释: stream 是文件流指针 ...

  6. 【LeetCode】637. Average of Levels in Binary Tree 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:DFS 方法二:BFS 日期 题目地址:ht ...

  7. Soldier and Traveling

    B. Soldier and Traveling Time Limit: 1000ms Memory Limit: 262144KB 64-bit integer IO format: %I64d   ...

  8. hdu 4704 Sum(组合,费马小定理,快速幂)

    题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4704: 这个题很刁是不是,一点都不6,为什么数据范围要开这么大,把我吓哭了,我kao......说笑的, ...

  9. hdu 1431 素数回文(暴力打表,埃托色尼筛法)

    这题开始想时,感觉给的范围5 <= a < b <= 100,000,000太大,开数组肯定爆内存,而且100000000也不敢循环,不超时你打我,反正我是不敢循环. 这题肯定得打表 ...

  10. Codeforces 919D:Substring(拓扑排序+DP)

    D. Substring time limit: per test3 seconds memory limit: per test256 megabytes inputstandard: input ...