分析rdb文件的工具

安装

git clone https://github.com/sripathikrishnan/redis-rdb-tools.git
sudo pip install --upgrade pip
sudo 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.rdb
0000000   R   E   D   I   S   0   0   0   6 376  \0  \0 004   n   a   m
0000020   e 005   h   o   d   g   e 377 004   | 313 025   =   G   % 310
0000040

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.rdb
database,type,key,size_in_bytes,encoding,num_elements,len_largest_element,expiry
0,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

redis源码剖析(十四)—— dump.rdb文件分析工具相关推荐

  1. redis源码剖析(四)跳表

    文章目录 整数集合 跳跃表 压缩列表 总结 整数集合 当一个集合只包含整数,且这个集合的元素不多的时候,Redis 就会使用整数集合 intset .首先看 intset 的数据结构: typedef ...

  2. Redis源码剖析(四)过期键的删除策略

    Redis是支持时间事件的,所谓时间事件,是为某个键值对设置过期时间,时间一到,Redis会自动删除该键值对.例如使用SET命令添加字符串类型的键值对 127.0.0.1:6379> SET b ...

  3. grpc-go源码剖析十四之round_robin平衡器原理介绍

      本小节主要是介绍一下round_robin类型的平衡器的基本原理: 其实,就是如何处理两个场景: 场景一:跟grpc服务器端链接的策略是什么,比方说同一个服务,可能是由多个grpc服务器端提供的: ...

  4. 【Redis源码剖析】 - Redis持久化之RDB

    原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51553370 Redis源码剖析系列文章汇总:传送门 Redis是一个高效的内存 ...

  5. Redis源码剖析和注释(十六)---- Redis输入输出的抽象(rio)

    Redis源码剖析和注释(十六)---- Redis输入输出的抽象(rio) . https://blog.csdn.net/men_wen/article/details/71131550 Redi ...

  6. redis源码剖析(十五)——客户端思维导图整理

    redis源码剖析(十五)--客户端执行逻辑结构整理 加载略慢

  7. 【Redis源码剖析】 - Redis IO操作之rio

    原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51433696 Redis源码剖析系列文章汇总:传送门 Reids内部封装了一个I ...

  8. 【Redis源码剖析】 - Redis内置数据结构之压缩列表ziplist

    在前面的一篇文章[Redis源码剖析] - Redis内置数据结构之双向链表中,我们介绍了Redis封装的一种"传统"双向链表list,分别使用prev.next指针来指向当前节点 ...

  9. GDAL源码剖析(四)之命令行程序说明二

    接博客GDAL源码剖析(四)之命令行程序说明一http://blog.csdn.net/liminlu0314/article/details/6978589 其中有个nearblack,gdalbu ...

最新文章

  1. centos7 firewall 防火墙 命令
  2. [HAOI2015]按位或
  3. 关于java数据库章节connection连接不成功的时候!!!
  4. es6 依赖循环_探索 JavaScript 中的依赖管理及循环依赖
  5. 【采用】智能反欺诈算法概览及典型应用案例
  6. oracle 存储怎么使用,Oracle存储过程中如何使用数组(附范例)
  7. decimalformat精度丢失_php intval 两位小数乘以100后结果少1
  8. mvc试图 下拉框不重复_面试前不巩固一下基础知识、刷刷题吗?
  9. Java问题定位之如何借助线程堆栈进行问题分析
  10. java map存储格式_java HashMap HashSet的存储方式
  11. dnf手游找不到服务器,DNF手游无法连接服务器怎么办 无法连接服务器解决详解...
  12. 黎曼的zeta函数(0)
  13. vmware linux虚拟机中添加硬盘
  14. 重新加载script
  15. GateWay的Filter
  16. Pytorch:图像归一化
  17. 全国计算机等级考试二级Java模拟试卷
  18. C++OpenCV系统学习(17)——图像分割与抠图(6)——视频背景替换
  19. 5G(IMT-2020)简介
  20. 如何解决端口被占用的问题

热门文章

  1. PNG,GIF,JPG的区别及如何选
  2. 使用内存回流的方法来实现将image的内容转换为 byte[]
  3. 微信公众平台——被动回复用户消息
  4. [HNOI2015] 落忆枫音
  5. cocos2d-x3.0 相对布局(一)
  6. Visual Studio 配色方案
  7. 【Unity】Update()和FixedUpdate()
  8. 计算机本地网络如何共享,本地网络共享怎么实现
  9. 搭建自动安装的linux,RedHat7搭建无人值守自动安装Linux操作系统(PXE+Kickstart)
  10. dw空心圆项目符号_如何懂建筑施工图?搞懂这些符号解析,耐下性子研究不会学不会...