reids存储可视化分析

前言

提起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

工具权限添加

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

使用方法描述

shell 复制代码
./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并输出

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

命令描述

js 复制代码
NAME:
   rdr dump - dump statistical information of rdbfile to STDOUT

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

例子:

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

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

结果

统计rdbfile所有的key

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

js 复制代码
./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]...

例子

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

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

结果

展示的部分结果

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

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

命令描述

js 复制代码
./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)

示例

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

结果

总结

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

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

相关推荐
源来猿往31 分钟前
redis-架构解析
数据库·redis·缓存
w***15311 小时前
ubuntu 安装 Redis
linux·redis·ubuntu
yeshihouhou2 小时前
redis 单机安装(linux)
数据库·redis·缓存
哈哈哈笑什么2 小时前
多级缓存框架(Redis + Caffeine)完整指南
redis·后端
洞窝技术2 小时前
Redis 4.0 升级至 5.0 实施手册
java·redis
LeeZhao@2 小时前
【狂飙全模态】狂飙AGI-智能答疑助手
数据库·人工智能·redis·语言模型·aigc·agi
i***11863 小时前
Windows环境下安装Redis并设置Redis开机自启
数据库·windows·redis
冲的运维日常4 小时前
Redis:查看RDB文件内容
数据库·redis·缓存
梁bk4 小时前
Redis网络模型 - 从fd和I/O模型到redis网络模型,再到I/O多线程,7000字长文预警
网络·数据库·redis
龙仔7255 小时前
如何通过两台服务器完成六个节点的redis缓存。Redis Cluster(3主3从)完整部署文档
数据库·redis·缓存