查看redis的快照文件dump.rdb

redis有两种持久化方式,Rdb 和 Aof

RDB方式是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际的操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储(binlog)。存储的文件为:dum.rdb

然而dum.rdb使用vim打开,是一种乱码,无法会意。


ebe4ba9f3e8c3a804702057fa5aaf4b.png

所以才需要rdbtools帮助转换。

在哪里找到dum.rdb?
配置rdb目录中寻找:aof和rdb.dum都在这里


1530188743(1).png

我起初安装redis,并未执行instal_server.sh。


21480a000cc617f789fbbab40354cf3.png
6a4b5a31f7ed9b9c46020c00a1e5051.png

如何安装rdbtools?

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

这里介绍了两种安装方式,我使用下面这种

pip install rdbtools python-lzf

使用的前提是要安装python, 不然pip命令不识别。

如何安装python?
https://blog.csdn.net/li_adou/article/details/78377265

我的软件都是下载到soft目录,安装到module目录。所以在soft目录执行下载命令

wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

然后解压到module目录。


dfe720381e25df82412ba96a9f8d199.png

我在当前目录下创建文件夹python3用来作为安装路径
编译:

./configure --prefix=/opt/module/Python-3.6.0/python3

安装:

make && make install

创建新版本的软连接:
在 /usr/bin/目录下,有一个python,这个python要使用我们刚安装的python.

mv /usr/bin/python /usr/bin/python_bak
ln -s /opt/module/Python-3.6.0/python3 /usr/bin/python

配置环境变量:vim /erc/profile


c907e5ae1df07b855d95becb996b66d.png

使其生效

source profile

使用pip命令时,仍不识别,需要使用pip3.

于是使用pip3安装rdbtools

pip3 install rdbtools python-lzf

安装时报了一个错误:


a0561acf5ff00a0ec687dbc8cb069ab.png

按着提示执行升级命令,升级好后,使用pip命令进行安装。

pip install rdbtools python-lzf

安装好rdbtools后,我在/opt/module/redis-4.0.2/redis/6379目录下执行,得到可memory.csv文件。

rdb -c memory dump.rdb > memory.csv
cc701d8e2f4ae2c0a3f21fb1f41aea1.png

其中:size_in_bytes 内存的大小,由此可以查询内存最高的key
num_elements 成员个数

接下来便可以通过sql来处理了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 在上一篇文章中,介绍了Redis内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复...
    Java架构阅读 2,362评论 3 21
  • 文章已经放到github上 ,如果对您有帮助 请给个star[https://github.com/qqxuanl...
    尼尔君阅读 2,293评论 0 22
  • 本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概...
    kelgon阅读 61,290评论 23 625
  • 本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概...
    团长plus阅读 1,267评论 0 15
  • 痛风(gout)一种相当古老的疾病,它即是一种遗传性疾病,也可以因为生活方式不当而引发。目前已知的最古老记载,来自...
    半生浮日阅读 643评论 0 2