• Redis内存分析工具redis-rdb-tools


    一、安装redis-rdb-tools(项目地址:github

    # git clone https://github.com/sripathikrishnan/redis-rdb-tools
    # cd redis-rdb-tools
    # python setup.py install (当前用户要有安装权限)

    # yum install python-devel ; pip install python-lzf

    二、获取redis的rdb文件

    1、确保redis的配置文件(redis.conf)开启rdb备份

    2、找到dump.rdb文件

    三、利用redis-rdb-tools对rdb文件解析成CSV文件(生成一个result.csv),命令:

    # rdb -c memory dump.rdb > result.csv

    四、根据不同条件进行查询--详见github上的 README.md

    查询某个db的某个key的大小:

    # redis-memory-for-key -s localhost -p 6379 -a mypassword -d 15 keyname

    查询大小超过128字节的Key:

    # rdb -c memory /var/redis/6379/dump.rdb --bytes 128 -f memory.csv

    输出Top 10的大Key信息:

    # rdb -c memory --largest=10  mydump.rdb 

    五、有时候key值特别多,可以将CSV文件导入mysql中

    1、mysql建表语句

    CREATE TABLE `rdb` (
      `database` int(11) DEFAULT NULL,
      `type` varchar(128) DEFAULT NULL,
      `key` varchar(128) DEFAULT NULL,
      `size_in_bytes` int(11) DEFAULT NULL,
      `encoding` varchar(128) DEFAULT NULL,
      `num_elements` int(11) DEFAULT NULL,
      `len_largest_element` varchar(128) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

     2、利用navicat等mysql客户端将CSV导入到表中,可以很方便进行查看

    注意事项:
    1、整个rdb文件的解析会导致CPU占用严重,所以慎用!
    2、最好选择单键查询的方式,不太消耗资源
    3、如果需要解析某个rdb文件,最好使用它的备份文件,或者将文件导出到本地或者测试机进行解析

  • 相关阅读:
    nes 红白机模拟器 第4篇 linux 手柄驱动支持
    nes 红白机模拟器 第3篇 游戏手柄测试 51 STM32
    nes 红白机模拟器 第2篇 InfoNES
    python语言输入
    python控制窗口口字形运动
    python控制窗口对角线运动
    python控制窗口移动(画圆)
    python控制窗口缩放
    python控制窗口显示隐藏
    python修改内存,(修改植物大战僵尸)
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/10577361.html
Copyright © 2020-2023  润新知