Redis内存分析工具之redis-rdb-tools的安装与使用
操作系统: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的安装与使用的更多相关文章
- redis内存分析工具rdbtools
当Redis的内存已经快满的时候,我们能做什么呢? 最直接的方法就是分析一下Redis内存的构成,看是哪些键比较大,或者比较多,然后考虑一下对应的功能能不能优化,例如减少超时时间,例如不必要的数据不用 ...
- Redis内存分析工具—redis-rdb-tools (转载http://www.voidcn.com/article/p-axfdqxmd-bro.html)
redis-rdb-tools是由Python写的用来分析Redis的rdb快照文件用的工具,它可以把rdb快照文件生成json文件或者生成报表用来分析Redis的使用详情.使用标准的diff工具比较 ...
- Redis内存分析工具redis-rdb-tools
一.安装redis-rdb-tools(项目地址:github) # git clone https://github.com/sripathikrishnan/redis-rdb-tools# cd ...
- 安装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/ ...
- 内存分析工具MAT(Memory Analyzer Tool)从安装到使用
一.安装 首先,你得有一个Eclipse(因为MAT是Eclipse的插件) 然后,你要在Eclipse上安装MAT,步骤如下: 1.点击Help,Install New Soft,就出现了以下Ins ...
- JS内存泄漏 和Chrome 内存分析工具简介(摘)
原文地址:http://web.jobbole.com/88463/ JavaScript 中 4 种常见的内存泄露陷阱 原文:Sebastián Peyrott 译文:伯乐在线专栏作者 - AR ...
- Android 内存分析工具 MAT(Memory Analyzer Tool)
如果使用DDMS确实发现了我们的程序中存在内存泄漏,那又如何定位到具体出现问题的代码片段,最终找到问题所在呢?如果从头到尾的分析代码逻辑,那肯定 会把人逼疯,特别是在维护别人写的代码的时候.这里介绍一 ...
- Android内存分析工具DDMS heap + MAT 安装和使用
一 Java内存分析工具扫盲 如果像我一样一点都不了解,可以先进行内存分析工具扫盲 MAT介绍: Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储 ...
- android--------Eclipse中ddms heap内存分析工具
无 论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方. Android tools中的DDMS就带有一个很不错的内存监测工具Heap ...
随机推荐
- 转:苹果iphone APP界面设计尺寸官方版
苹果iphone APP界面设计尺寸官方版
- 对ORM的理解
1. 在面试中可能会问到这个问题,什么是ORM? ORM是对象关系映射(Object Relational Mapping),简称ORM,或O/RM,或O/R mapping,是一种程序技术. 白话理 ...
- LuoguP7852 「EZEC-9」Yet Another Easy Problem 题解
Content 给定 \(n,m\),你需要输出一个长度为 \(n\) 的排列,满足该排列进行不超过 \(m\) 次交换操作可以得到的最小的字典序最大. 数据范围:\(T\) 组数据,\(1\leqs ...
- CF999C Alphabetic Removals 题解
Content 给定一个长度为 \(n\) 的仅含小写字母的字符串,执行 \(k\) 次如下操作: 如果字符串中有 a 这个字母,删除从左往右第一个 a,并结束操作,否则继续操作: 如果字符串中有 b ...
- java 网络编程基础 UDP协议DatagramSocket,MulticastSocket 实现局域网聊天软件(Server + Client模式)
开发思路: 服务端两个Socket: UDP的DatagramSocket接收客户端消息. 广播multicastSocket 发送广播消息 客户端一个Socket: multicastSocke ...
- pycharm字体放大的设置
一.pycharm字体放大的设置 File -> setting -> Keymap ->在搜寻框中输入:increase -> Increase Font Size(双击) ...
- SQL Server日志恢复还原数据
通过日志还原,首先要注意的是: 1,在数据库更新和删除之前有一个完整的备份. 2,在更新和删除之后,做一个日志备份. 3,该日志只能用于还原数据库备份和日志备份时间之间的数据. 下面看整个数据库备份和 ...
- C++使用C语言库函数创建文件夹
概述 本文演示环境: win10 + vs2017 头文件 #include <io.h> #include <direct.h> 函数 下面的函数,从左至右依次检查文件夹是否 ...
- 【LeetCode】458. Poor Pigs 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 湫湫系列故事——消灭兔子(hdu4544)
湫湫系列故事--消灭兔子 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tota ...