分析redis中大key的几种办法
总结
1. 游戏已经上线几个月了,redis使用超过2G,今天有空就想着分析下redis中是否有大key,是否影响性能,结果查来查去,愣是没找到一个好用的办法,因为我们的redis是买腾讯云的,操蛋的腾讯云对redis做了诸多限制,fuck
2. 先说下几种常用的办法吧
办法1: DEBUG OBJECT [要查的key名字]
优点:查询指定的单个key,很方便
缺点:只能查指定的key,且不精确,不能做整体分析,而且腾讯云的redis不让使用
示例(查询key:hall:player:used_showIDs的内存使用):
办法2: bigkeys命令
优点:内部使用scan遍历所有key,对不同的类型会使用不同的命令,计算出其中的元素个数,而且不会造成redis阻塞,可以分析整个redis,做出准确的整体分析
缺点:占用内存分析得不够精确,而且腾讯云的redis不让使用
示例(分析笔者自己使用的redis里面的数据,但是腾讯云的redis这个命令被禁止使用)
办法3:memory usage [要查的key名字]
优点:查询指定的单个key,很方便,且准确
缺点:只能查指定的key,不能做整体分析,而且腾讯云的redis不让使用
示例(查询key:hall:player:used_showIDs的内存使用):
办法4: rdb_bigkeys工具
优点:不影响线上的redis运行,只需要来个RDB持久化,下载文件,即可随意分析,而且可以分析得很准确
缺点:麻烦一些,因为要先拿到RDB文件,把工具编译好后才能用。而且腾讯云的不适用,因为解析错误,真fuck了,笔者还在分析方案,好蛋疼
rdb_bigkeys 工具的安装教程,请参看笔者的这篇博客
https://blog.csdn.net/yzf279533105/article/details/109105691
示例
1. 连接到redis,运行命令BGSAVE,产生rdb文件
2. 跟工具 rdb_bigkeys 放在同一个目录下,运行命令
./rdb_bigkeys --bytes 1024 --file bigkeys_1024.csv --sep 0 --sorted --threads 4 dump.rdb
--bytes 用来指定过滤那些占用字节数大于1024字节的key
--file 用来指定输出分析结果的文件名字
--sorted 表需要排序,由大到小
--threads 表使用的线程数
最后的dump.rdb是分析的rdb文件名字
效果如下图
3. 打开bigkeys_1024.csv文件,如下
database表
分析redis中大key的几种办法相关推荐
- Redis 热 Key 发现以及解决办法
背景介绍 最近在技术交流微信群里看大家讨论技术,其中有谈到 Redis 热 Key 的一些问题解决方案,我也仔细思考了一下我们目前系统中 Redis 的使用场景,我们是不是也存在热 Key 问题,或者 ...
- Redis实战和核心原理详解(4)Redis存储Key的一种设计实现方式:模式匹配
注意:此方案仅为演示Redis 的使用,正式生产环境切勿使用! 相关文章: Redis实战和核心原理详解(1)Centos7.0下安装Redis 5.0详细过程和使用常见问题 Redis实战和核心原理 ...
- redis热点key解决方案_缓存穿透,缓存雪崩,4种解决方案分析
前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透.缓存击穿与失效时的雪崩效应. 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到 ...
- Redis源码分析:过期key删除与设置key的过期时间
Redis中设置key过期时间与过期key的处理流程 在Redis中,可以再设置值的时候就设置该Key的过期时间,也可以通过在expire命令来设置某个key值的过期时间,并且在了解完设置过期时间之后 ...
- Redis批量删除Key的三种方式(linux和windows环境下都有)
Redis 中有删除单个 Key 的指令 del,网上资料大多数都说没有批量删除 Key 的指令,是否真这样有待再次确定,不过我们可以借助 Linux的 xargs 指令来完成这个动作,redis本身 ...
- 【Redis】批量删除Key的三种方式
Redis 中有删除单个 Key 的指令 del,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux的 xargs 指令来完成这个动作 1.使用命令行批量删除redis的key 语法 . ...
- 面试精讲之面试考点及大厂真题 - 分布式专栏 11 Redis热点key大Value解决方案
11 Redis热点key大Value解决方案 时间像海绵里的水,只要你愿意挤,总还是有的. --鲁迅 引言 上期分析了<Redis 雪崩,穿透,击穿三连问>,看了我的分析后回答面试官肯定 ...
- redis 删除key的命令_面试官问:Redis变慢了,你会怎么排查?
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右.但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头 ...
- Redis——热点key问题
本篇主要介绍Redis中的热点Key问题,包括热点Key产生的原因.如何监控发现热点key以及热点Key的解决方案: 其实热key问题说来也很简单,就是瞬间有大量的请求去访问redis上某个固定的ke ...
最新文章
- 从AK47到乌兹,这款控制器模块可以模拟不同物体体感
- 服务器统一计算系统,思科为微软扩展统一计算系统UCS服务器
- poj 3131 双向搜索+hash判重
- Shell编程—【05】Linux的find命令详解
- 修过的一个android framework原生系统代码bug
- list、tuple
- 直接请求接口_「软件测试教程」基于postman进行接口测试实战
- wamp安装和配置_手动配置Wordpress环境真香,让我毫不犹豫卸载LAMP和WAMP环境
- javax.servlet.http.HttpServletResponse.setContentLengthLong(J)V,maven项目报错!!无法访问webapp下的文件,完美解决方案
- SQL Server存储过程作业(三)
- 保持简单----纪念丹尼斯里奇(Dennis Ritchie) (zz.is2120.BG57IV3)
- 分析方法选讲期末复习脉络图---完结版
- git.exe pull -v --progress “scanpenmodular“fatal: detected dubious ownership in repository at ‘
- html 实时统计字数,记一次前端 input、textarea输入框实时 统计字数(真实字数)...
- proxifier 出现错误代码10060处理
- 我的域名注册踩坑指南
- 华为服务器扩容内存进不去系统,服务器内存扩容难点
- css语法---选择器
- 全职高手手游服务器维护,《全职高手》停服停运公告!
- EasySwoole使用phpexcel
热门文章
- 微软一站式示例代码库 8 月新代码示例发布
- 2021牛客多校3 - Black and white(思维+最小生成树)
- HDU - 6016 Count the Sheep(二分图+思维)
- jupyter notebook python插件_Jupyter notebook一款非常好用的python IDE
- access 打印预览 代码_标签打印软件如何批量打印样品标签
- 获取网络时间并刷新本地时间(源码2)
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试
- C++ Boost库简介
- Websniff -aspx网页嗅探工具及使用说明
- 美图秀秀 sig参数分析