缓存容量分析

1、redis-rdb-tools介绍

源码地址:https://github.com/sripathikrishnan/redis-rdb-tools/

redis-rdb-tools 是一个 python 的解析 rdb 文件的工具,在分析内存的时候,我们主要用它生成内存快照。

主要有以下三个功能:

  • 生成内存快照
  • 转储成 json 格式
  • 使用标准的 diff 工具比较两个 dump 文件

按照GitHub上面的安装教程安装好工具

2、拷贝redis的dump文件(如果是codis需要将每个)

3、将dump文件转化csv并导入到数据库。

生成内存分析报告:rdb -c memory dump_23080.rdb -f 23080.csv

输出字段说明:

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过期时间

创建表:

SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------

-- Table structure for memory

-- ----------------------------

DROP TABLE IF EXISTS `memory`;

CREATE TABLE `memory` (

`database` int(128) NULL DEFAULT NULL,

`type` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`KEY` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

`size_in_bytes` bigint(20) NULL DEFAULT NULL,

`encoding` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`num_elements` bigint(20) NULL DEFAULT NULL,

`len_largest_element` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`expiry` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL

) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

再将生成的csv文件导入到数据库。

4、我们就可以用SQL进行分析了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值