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的使用情况,以及对不合理的使用,进行优化,减少内存的使用,释放更多的资源。

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

相关推荐
MonkeyKing_sunyuhua1 小时前
Ehcache、Caffeine、Spring Cache、Redis、J2Cache、Memcached 和 Guava Cache 的主要区别
redis·spring·memcached
云天徽上9 天前
【目标检测】图像处理基础:像素、分辨率与图像格式解析
图像处理·人工智能·目标检测·计算机视觉·数据可视化
笨手笨脚の9 天前
Redis 源码分析-Redis 中的事件驱动
数据库·redis·缓存·select·nio·epoll·io模型
(:满天星:)9 天前
Redis哨兵模式深度解析与实战部署
linux·服务器·网络·数据库·redis·缓存·centos
weixin_438335409 天前
Spring Boot:运用Redis统计用户在线数量
java·spring boot·redis
十六点五9 天前
Redis(2)——AOF持久化
java·redis·后端
编程乐学(Arfan开发工程师)9 天前
75、单元测试-嵌套测试
前端·javascript·redis·python·单元测试·bootstrap
编程乐学(Arfan开发工程师)9 天前
74、单元测试-前置条件
redis·python·阿里云·单元测试·云计算·bootstrap
why1519 天前
6.19 redis面试场景题
数据库·redis·面试
猕员桃9 天前
《Redis高并发优化策略与规范清单:从开发到运维的全流程指南》
运维·数据库·redis