发现redis使用量突然暴增,于是紧急扩容redis,不能影响服务运行。扩容之后,赶紧查找原因,突破口就是寻找存在哪些大key。

1. 将redis的dump.rdb文件下载到本地(一般redis的持久化文件以rdb的方式存储,在redis配置文件可以找到dump.rdb的存储路径)。

2. 用rdbtools工具生产内存报告,命令是 rdb -c memory,例子:

sudo rdb -c memory  /redisfile/dump.rdb >test.csv

注意:rdb文件越大,生成时间越长。

Rdbtools是以python语言开发的。

GITHUB地址:GitHub - sripathikrishnan/redis-rdb-tools: Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON

3. 内存报告生成后,结合用linux sort命令排序,根据內存列排序,找出最高的key有哪些。例子:

sudo sort -k4nr -t , test.csv > sort.txt

4. 查看前1000个排序最高的数据

awk -F ',' '{print substr($3, 0,18)}' sort.txt | head -1000 | sort -k1 | uniq

5. 查看sort.txt的结果,一般能得出类似‘my_rank_top’开头的集合占用最高,排在了前面。若要查看类似‘my_rank_top’开头的key总共占用了多少内存,可以用命令:

sudo cat sort.txt | grep ‘my_rank_top’ | awk -F ',' '{sum += $4};END {print sum}'

6. 得知了my_rank_top这样的key占用最多内存,而且很可能是业务已经不再需要,但是长期在内存中没清理的,我们可以删除了这些集合。可以用模糊匹配key来删除,命令如下:

redis-cli -h 127.0.0.1 -p 6379  keys 'my_ranking_list*' | xargs redis-cli -h 127.0.0.1 -p 6379 del

另附:在本地启动redis加载dump.rdb文件时,一直load失败。搞了很长时间,终于找到原因:redis配置文件里databases要修改为256,本地默认是16,而产生原始dump.rdb的redis的databases就是256。

参考资料:

1. FAQ:https://github.com/sripathikrishnan/redis-rdb-tools/wiki/FAQs
2. redis dump文件规范: https://github.com/sripathikrishnan/redis-rdb-tools/wiki/Redis-RDB-Dump-File-Format
3. redis RDB历史版本: https://github.com/sripathikrishnan/redis-rdb-tools/blob/master/docs/RDB_Version_History.textile
4. redis-rdb-tools:https://github.com/sripathikrishnan/redis-rdb-tools
5.https://blog.csdn.net/jiangsanfeng1111/article/details/53523581

Redis使用量暴增,快速定位有哪些大key在作怪相关推荐

  1. 如何快速定位 Redis 热 key

    背景 在 Redis 中,热 key 指的是那些在一段时间内访问频次比较高的键值,具体到业务上,商品的限时抢购.瞬时的新闻热点或某个全局性的资源,都极有可能产生热点 key. 热点 key 的出现可能 ...

  2. 如何快速定位 Redis 热 key?

    背景 在 Redis 中,热 key 指的是那些在一段时间内访问频次比较高的键值,具体到业务上,商品的限时抢购.瞬时的新闻热点或某个全局性的资源,都极有可能产生热点 key. 热点 key 的出现可能 ...

  3. 战疫期,钉钉如何扛起暴增百倍的流量?【阿里云快速扩容新纪录】

    疫情期间,在线教育.在线办公需求持续井喷,钉钉作为很多企业首选的在线办公软件,用户量激增,特别是钉钉视频会议.直播的需求随之飙升.同时,钉钉为了响应教育部门"停课不停学"的号召,宣 ...

  4. 手淘搜索流量暴增,快速打造爆款的核心方法

    想要打造爆款首先第一步是必须要有流量,有了流量才有打造爆款的基础. 首先我们要知道形成爆款的因素,1大众化,2实惠,3点击率高点击量高,4宝贝数据要呈现上涨的趋势,5高的人气 收藏 加购物车量 深的浏 ...

  5. 流量暴增,掌门教育如何基于 Spring Cloud Alibaba 构建微服务体系?

    作者 | 童子龙  掌门教育基础架构部架构师 **导读:**本文整理自作者于 2020 年云原生微服务大会上的分享<掌门教育云原生落地实践>,本文主要介绍了掌门教育云原生落地实践,主要围绕 ...

  6. 战疫期,钉钉如何扛起暴增百倍的流量?

    疫情期间,在线教育.在线办公需求持续井喷,钉钉作为很多企业首选的在线办公软件,用户量激增,特别是钉钉视频会议.直播的需求随之飙升.同时,钉钉为了响应教育部门"停课不停学"的号召,宣 ...

  7. 苹果更新“查找”APP,三星发布新款SmartTag Plus,蓝牙防丢器市场暴增

    苹果更新"查找"APP,三星发布新款SmartTag Plus,蓝牙防丢器市场暴增 苹果宣布推出更新的「查找」app,允许第三方产品透过私密且安全的苹果「查找」网络来查找,该网络由 ...

  8. 双十一电商流量暴增的背后,用户体验如何保障?

    一年一度的"双十一",各大电商平台巅峰冲刺,活动期间流量暴增经常会遇到网络质量问题.多页面大元素资源加载慢.接口调用异常等问题,严重影响线上用户体验,造成电商平台流量和业绩损失.博 ...

  9. 关联与下钻:快速定位MySQL性能瓶颈的制胜手段

      本文根据DBAplus社群[2018年1月6日北京开源与架构技术沙龙]现场演讲内容整理而成. 讲师介绍 李季鹏 新炬网络数据库专家 专注于MySQL数据库性能管理及相关解决方案,目前主要从事MyS ...

最新文章

  1. 关于伪静态网站的好处
  2. 计算几何常用算法的理论基础【转】
  3. JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息
  4. 浅谈如何学习深度学习(经验之谈,仅供参考)
  5. vi / vim 字符替换详解
  6. python超神之路:Python3 列表list合并的4种方法
  7. JAVA安装作用_jdk安装配置及其作用
  8. java 判断字符串是否是整数
  9. 关于java 中 的 null。
  10. java下载的文件不完整_JAVA 解决FTP下载文件不完整问题
  11. 撸一款Flutter版『微信』
  12. nodejs后台系列--第四篇--koa(三)
  13. java 短信备份宝_Android实战教程第八篇之短信备份
  14. 9针串口的RS232、RS485、RS422引脚定义
  15. STM32 tjpgd软件JPEG解码后RGB888数据格式问题
  16. 软件测试-正交试验法
  17. testflight无法联网怎么办_疫情期间,汽车驾照和年检过期了该怎么办?
  18. 8篇论文详解用户历史行为序列建模方法
  19. liinux下安装jdk
  20. 组装办公室用计算机,(需要组装一批电脑,用于办公。多运用于普通办公软件,WORD、EXCEL、PPT、PS等。 要求实惠,可用集成显卡。)组装电脑excle模板...

热门文章

  1. 计算机vf结束语句,计算机二级VF SQL语句常考总结。
  2. 自定义Dubbo反序列化
  3. 录音读写程序c语言,如果用c语言程序读取一段音频文件要如何做,具体要调用哪些函数,在网上搜索了半天,乱七八糟的,找不到什么有用的信息...
  4. HP 战x 死机问题解决
  5. 安卓开发系列 之如何获取手机短信内容
  6. IGeometry转WKT
  7. wkt文件java解析_python – 解析WKT文件
  8. Java面试题集锦(含答案)
  9. java面向对象的基本特征
  10. 神书护体,开学大吉——计算机专业必读的10本畅销经典