redis可视化内存分析

前言

提起redis,头脑中立马浮现,Redis (remote dictionary server)Redis 是一个开源的,存储 键值(key-Valus)数据库 ,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。日常工作中,缓存可能是我们使用最多的场景,集成redis到系统运行一段时间后,内存持续上涨(内存比起硬盘是宝贵的资源),有没想过,redis到底储存了一些什么数据,使用的是否合理?这就需要我们进行分析下,才能更好的优化,释放更多的内存

RDR工具

RDR 是解析 redis rdbfile 工具。与redis-rdb-tools相比,RDR 是由golang 实现的,速度更快。

  • 分析 Redis 内存中那个 Key 值占用的内存最多
  • 分析出 Redis 内存中那一类开头的 Key 占用最多,有利于内存优化
  • Redis Key 值以 Dashboard 展示,这样更直观

下载地址

linux

mac

Windows

工具权限添加

# 工具下载好以后,可能需要添加可执行权限,此示例以linux平台操作
# 看个人喜欢,我比较喜欢下载下来,修改下名称,方便操作
mv rdr-linux rdr
# 赋值可执行权限
chmod a+x ./rdr*

使用方法描述

./rdr -h
NAME:
   rdr - a tool to parse redis rdbfile

USAGE:
   rdr [global options] command [command options] [arguments...]

VERSION:
   v0.0.1

COMMANDS:
     dump     dump statistical information of rdbfile to STDOUT
     show     show statistical information of rdbfile by webpage
     keys     get all keys from rdbfile
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

统计rdbfile并输出

如果全量分析,可以用此方式

命令描述


NAME:
   rdr dump - dump statistical information of rdbfile to STDOUT

USAGE:
   rdr dump FILE1 [FILE2] [FILE3]...

例子:

# 此方式是输入到命令窗口,如果数据量太大,查看不全
./rdr dump dump.rdb

# 推荐 把输出指向一个resulst.txt,然后打开result.txt查看
./rdr dump dump.rdb >result.txt

结果

image.png

统计rdbfile所有的key

命令描述
获取rdbfile所有存储的key


./rdr dump -h
NAME:
   rdr dump - dump statistical information of rdbfile to STDOUT

USAGE:
   rdr dump FILE1 [FILE2] [FILE3]...
[root@dev4 redis]# ./rdr keys -h
NAME:
   rdr keys - get all keys from rdbfile

USAGE:
   rdr keys FILE1 [FILE2] [FILE3]...

例子

# 直接输出到命令窗口,不好看
./rdr keys dump.rdb

# 推荐 输出结果指向一个文件,然后查看
./rdr keys dump.rdb > result.txt

结果

展示的部分结果

image.png

通过web页面,展示rdbfile 统计信息

推荐这种,因为有界面,清晰可见

命令描述

./rdr show -h
NAME:
   rdr show - show statistical information of rdbfile by webpage

USAGE:
   rdr show [command options] FILE1 [FILE2] [FILE3]...

OPTIONS:
   --port value, -p value  Port for rdr to listen (default: 8080)

示例

# -p 指定端口号,如果不指定,默认是8080
./rdr show -p 8088 dump.rdb
start parsing...
parse dump.rdb  done
# 看到这信息,说明已经rdbfile分析完成,通过ip+端口直接访问
parsing finished, please access http://{$IP}:8088

结果

image.png

总结

上面展示了工作的三种用法,推荐web页面展示这种方法使用,比较清晰,看起来也方便。通过这种工具,我们就能分析redis的使用情况,以及对不合理的使用,进行优化,减少内存的使用,释放更多的资源。

写作不易,如果刚好你有需要,此文对你有帮助,麻烦点赞评论收藏,谢谢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值