Redis rdb 工具分析步骤

Redis rdb 工具分析步骤

  1. 通过redis-cli -p 6380 命令进入到具体的redis server中,执行bgsave命令,将会在/redis 目录下生成dump.rdb文件

  2. 将dump后的文件发送到163服务器(163服务器安装了rdb tools)

scp /redis/dump.rdb root@10.50.10.163:/var/lib/mysql-files/dump_6380.rdb
  1. 使用rdb tools 分析dump文件,并将分析结果保存进对应的csv文件(此过程耗时较久)
rdb -c memory /var/lib/mysql-files/dump_6380.rdb --bytes 128 -f /redis/dump_memory_6380_new.csv &
  1. 在mysql中创建对应端口的表

    DROP TABLE IF EXISTS `memory_6380`;
    CREATE TABLE `memory_6380` (
      `DATABASE` int(11) DEFAULT NULL,
      `type` varchar(255) DEFAULT NULL,
      `key` varchar(255) DEFAULT NULL,
      `size_in_bytes` int(11) DEFAULT NULL,
      `encoding` varchar(255) DEFAULT NULL,
      `num_elements` int(11) DEFAULT NULL,
      `len_largest_element` varchar(255) DEFAULT NULL,
      `expiry` varchar(255) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
  2. 将csv文件插入到数据库

LOAD DATA LOCAL INFILE '/redis/dump_memory_6380.csv' INTO TABLE rdb.memory_6380 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
  1. 输出字段说明

    database :key在redis的db

    type :key类型

    key :key值

    size_in_bytes :key的内存大小(byte)

    encoding :value的存储编码形式

    num_elements :key中的value的个数

    len_largest_element :key中的value的长度

    expiry :key过期时间

  2. 分析内存快照

    1. 查询key的个数
    select count(*) from dump_memory;
    
    1. 查询总的内存占用
    select sum(size_in_bytes) from dump_memory;
    
    1. 查询内存占用最高的10个key
    select * from dump_memory order by size_in_bytes desc limit 10;
    
    1. 查询value个数1000个以上的list
    select * from dump_memory where type=’list’ and num_elements > 1000;
    
    1. 查询未设置过期时间key的数量
    SELECT type, count(*) FROM dump_memory where expiry = '' GROUP BY type;
    
    1. 查询未设置过期时间key的数量
    SELECT type, count(*) FROM dump_memory where expiry <> '' GROUP BY type;
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值