redis的内存分析可以使用redis-rdb-tools这个工具
这个工具是使用python开发的,我们用pip安装它。
pip是个什么东西?
python pip是一个安装和管理 Python 包的工具。
怎么安装,当然至少可以在线安装呀。
但是在线安装是在是太慢了。
把下载的tar.gz上传到你的服务器
然后
# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install
然后就是安装redis-rdb-tools
同样的,直接使用外国的网站太慢了
OK,pip已经安装OK了。
下面就是把redis的rdb文件转换成csv文件
首先咱们先发送bgsave命令,搞到此时此刻的数据文件。
然后
rdb -c memory ./dump.rdb >memory.csv
如果数据量不大的话,咱们直接用excel打开csv文件就OK
如果数据量太大,直接导入mysql。
然后呢?
查询key个数
select count(*) from memory;
查询总的内存占用
select sum(size_in_bytes) from memory;
查询内存占用最高的10个key
select * from memory order by size_in_bytes desc limit 0,10;
查询成员个数1000个以上的list
select * from memory where type='list' and num_elements > 1000 ;
这个工具是使用python开发的,我们用pip安装它。
pip是个什么东西?
python pip是一个安装和管理 Python 包的工具。
怎么安装,当然至少可以在线安装呀。
但是在线安装是在是太慢了。
怎么办?
把下载的tar.gz上传到你的服务器
然后
# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install
然后就是安装redis-rdb-tools
同样的,直接使用外国的网站太慢了
pip install rdbtools -i http://pypi.mirrors.ustc.edu.cn/simple
这是中科大的源
OK,pip已经安装OK了。
下面就是把redis的rdb文件转换成csv文件
首先咱们先发送bgsave命令,搞到此时此刻的数据文件。
然后
rdb -c memory ./dump.rdb >memory.csv
我们吧csv文件迁移到本地,打开看看
如果数据量不大的话,咱们直接用excel打开csv文件就OK
如果数据量太大,直接导入mysql。
然后呢?
查询key个数
select count(*) from memory;
查询总的内存占用
select sum(size_in_bytes) from memory;
查询内存占用最高的10个key
select * from memory order by size_in_bytes desc limit 0,10;
查询成员个数1000个以上的list
select * from memory where type='list' and num_elements > 1000 ;