首页 > 数据库 >Redis内存分析工具-RDBtools安装&使用

Redis内存分析工具-RDBtools安装&使用

时间:2023-12-13 10:57:38浏览次数:36  
标签:文件 Redis RDBtools 内存 key rdb 安装

目录

是什么

Rdbtools提供了一组工具,可以帮助用户分析、导入和转换Redis的RDB文件。它的功能包括:

  1. 解析RDB文件: Rdbtools可以解析RDB文件,将其转换成人类可读的文本格式,以便用户更容易理解和分析其中的数据。
  2. 数据导入和转换: 用户可以使用Rdbtools将RDB文件导入到其他数据库系统中,或者将其转换成其他格式,以便于进一步处理和分析。
  3. 数据恢复: 在一些情况下,如果Redis数据库出现问题,用户可能希望从RDB文件中恢复数据。Rdbtools提供了相关的功能,帮助用户进行数据恢复操作。

安装

以下操作在CentOS7.9操作

安装Python(已安装忽略,低版本需要卸载重安)

yum install -y python3 python3-devel python3-libs python3-tools
python3 -m ensurepip
python3 -m pip install --upgrade pip

安装GCC(已安装忽略)

yum install gcc

安装rdbtools和python-lzf

pip install rdbtools python-lzf

安装成功页面

image-20231211173348576

基础命令

rdbtools 有三个基础命令:

rdb -- 解析rdb文件
redis-memory-for-key -- 解析server里的单个key
redis-profiler --解析rdb文件成html格式

常用示例

使用rdbtools工具分析rdb文件

查找大key与处理

rdb      -c      memory     -l                  3           rdbFile.rdb
#固定语法 命令    内存分析 内存按大小输出        输出前X个KEY    服务器rdb文件路径

执行以上命令得到结果

#第几个数据库,数据类型,key名,占用内存空间(单位:bytes),存储编码,元素个数,      值长度  ,         过期时间
database,    type,     key,   size_in_bytes,         encoding,num_elements,len_largest_element,expiry
0,hash,backUp,4313880220,hashtable,653,8792544,
0,string,StringKey,3313880220,string,179556,179556,2023-12-09T08:52:52.702000
  • 分析&处理

    根据上一步分析的Key进行排查,确定系统优化方案;

    如果要删除现有存储的数据,需根据数据类型分别处理,例如:
    “backUp” key类型为hash,并且占用了将近4G内存,如果直接使用"del backUp"删除,会导致Redis阻塞,所以需要使用"hdel、hlen"命令逐步删除
    "StringKey" key类型为String,并且占用了将近3G内存,如果直接删除,也会阻塞Redis,所以需要在业务低谷时执行“del”命令,如果是Redis版本在4.0以上,还可以使用异步删除“UNLINK key1 key2 key3 ... keyN”

导出CVS文件

 rdb      -c      memory    -f   a.csv      -l                  10            rdbFile.rdb
 #固定语法 命令    内存分析    导出 导出文件 内存按大小输出        输出前X个KEY    服务器rdb文件路径

直连Redis服务查询单个key详情

 redis-memory-for-key -s 192.168.1.1 -p 7002  keyName
 #固定语法              server  ip    服务端口  要查的Key

生成HTML图表

#生成全部rdb文件
redis-profiler -f rdb.html rdbFile.rdb
#固定语法       输出html     要分析的rdb文件

更多用法见Help

rdb -h

redis-memory-for-key -h

redis-profiler -h

标签:文件,Redis,RDBtools,内存,key,rdb,安装
From: https://www.cnblogs.com/rb2010/p/17898567.html

相关文章

  • 基于DAMON的内存能回收 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/reclaim.htmlDAMON-basedReclamation(DAMON_RECLAIM)是一个静态内核模块,旨在用于在轻度内存压力下主动和轻量级地回收内存。它不旨在取代基于LRU列表的页面粒度回收,而是选择性地用于不同级别的内存压力和需求。何时......
  • Springboot项目通过redis实现接口的幂等性
    在SpringBoot项目中,通过Redis实现接口的幂等性通常是通过在Redis中存储唯一标识符(token、UUID等)的方式来实现。当接口第一次被调用时,生成并存储一个唯一标识符到Redis,然后将该标识符返回给客户端。客户端在后续的请求中携带该标识符,服务端在处理请求之前检查Redis中是否存在该标识......
  • C++基础 -5- 动态内存分配
    ———————动态内存分配——————— ......
  • 【Centos】Centos 7.6 安装 Redis 7.2.3
    1  前言我们继续安装Redis。2 安装步骤2.1 下载压缩包https://redis.io/download/2.2 解压tar-xvfredis-7.2.3.tar.gz2.3 安装make2.4 启动./src/redis-server./redis.conf2.5 修改配置修改配置文件:redis.conf#绑定开放bind127.0.0.......
  • 异构内存管理(HMM) 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/hmm.html异构内存管理(HMM)HMM提供基础设施和辅助工具,将非常规内存(例如设备内存,如GPU板载内存)整合到常规内核路径中,其核心是为此专门设计的用于此类内存的structpage(请参见本文档的第5至7节)。HMM还提供了用于SVM(共享虚拟内存)的可选辅......
  • 当单节点的CPU使用率低于50%且内存使用率低于80%时,会触发本节点资源收缩。
     Serverless资源弹性扩缩触发条件资源弹性扩展触发条件纵向扩展触发条件PolarDB主要监控主节点和只读节点的CPU使用率、内存使用率和其他内核层面指标。在监控周期内,出现如下三种情况中的任意一种时,通常会触发Serverless资源纵向扩展:当单节点的CPU使用率高于80%,会触发本......
  • Redis进阶命令
    1.设置过期时间expire[keyName][seconds]eg:expirefoo60再次使用expire命令会重置键的过期时间。2.查看剩余过期时间ttl[keyName]eg:ttlfoottl表示timetolive3.使用事务连续执行一系列命令multi[command1][command2]...exec 4.排序可以对l......
  • Redis_基础
    Redis_基础SQL与NoSQL对比数据结构:结构化---非结构化数据关联:关联的---无关联查询方式:SQL查询---非SQL事务特性:ACID---BASE存储方式:磁盘---内存扩展性:垂直---水平使用场景:数据结构固定,相关业务对数据安全性、一致性要求较高---数据结构不固定,对一致性、安全性要求不高,对......
  • 【flink番外篇】3、fflink的source(内置、mysql、kafka、redis、clickhouse)介绍及示例(2
    Flink系列文章一、Flink专栏Flink专栏系统介绍某一知识点,并辅以具体的示例进行说明。1、Flink部署系列本部分介绍Flink的部署、配置相关基础内容。2、Flink基础系列本部分介绍Flink的基础部分,比如术语、架构、编程模型、编程指南、基本的datastreamapi用法、四大基......
  • 【flink番外篇】3、flink的source(内置、mysql、kafka、redis、clickhouse)介绍及示例(3)-
    Flink系列文章一、Flink专栏Flink专栏系统介绍某一知识点,并辅以具体的示例进行说明。1、Flink部署系列本部分介绍Flink的部署、配置相关基础内容。2、Flink基础系列本部分介绍Flink的基础部分,比如术语、架构、编程模型、编程指南、基本的datastreamapi用法、四大基......