博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis源码剖析(十四)—— dump.rdb文件分析工具
阅读量:2489 次
发布时间:2019-05-11

本文共 1438 字,大约阅读时间需要 4 分钟。

分析rdb文件的工具

安装

git clone https://github.com/sripathikrishnan/redis-rdb-tools.gitsudo pip install --upgrade pipsudo pip install python-lzf

分析以n开头的key

rdb --command justkeyvals --key  "n*" /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb[kou@python ~]$ od -c  /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb0000000   R   E   D   I   S   0   0   0   6 376  \0  \0 004   n   a   m0000020   e 005   h   o   d   g   e 377 004   | 313 025   =   G   % 3100000040

json格式解析并输出

[kou@python ~]$ rdb --command json /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdb[{"name":"hodge"}]

指定数据库,类型,格式,key

rdb -c json --db 2 --type hash --key "a.*"

生成内存报告

[kou@python ~]$ rdb -c memory /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdbdatabase,type,key,size_in_bytes,encoding,num_elements,len_largest_element,expiry0,string,name,56,string,5,5,

查找单键使用的内存

redis-memory-for-key -s localhost -p 6379 -a mypassword person:1

RDB文件转换为Redis协议流protocol

rdb --c protocol

您可以将输出通过管道传输到netcat并重新导入数据的子集。例如,如果要将数据分片到两个Redis实例中,则可以使用–key标志选择数据的子集,然后将输出传递给正在运行的Redis实例以加载该数据。阅读Redis Mass Insert以获得更多信息。

当输出打印协议时,该–escape选项可与一起使用printable或utf8避免使用不可打印/控制字符。

比较RDB文件

> rdb --command diff /var/redis/6379/dump1.rdb | sort > dump1.txt> rdb --command diff /var/redis/6379/dump2.rdb | sort > dump2.txt然后,运行您喜欢的差异程序> kdiff3 dump1.txt dump2.txt

分析结果

[kou@python ~]$ rdb  --command justkeyvals --key  "n*" /home/kou/redis_tar/redis-3.0-annotated/src/dump.rdbname hodge

转载地址:http://vkorb.baihongyu.com/

你可能感兴趣的文章
laravel连接sql server 2008
查看>>
Laravel 操作redis的各种数据类型
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>
浅析 Laravel 官方文档推荐的 Nginx 配置
查看>>
Swagger在Laravel项目中的使用
查看>>
Laravel 的生命周期
查看>>
CentOS Docker 安装
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Mysql出现Table 'performance_schema.session_status' doesn't exist
查看>>
MySQL innert join、left join、right join等理解
查看>>
vivado模块封装ip/edf
查看>>
sdc时序约束
查看>>
Xilinx Jtag Access/svf文件/BSCANE2
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>