天地维杰网

人如秋鸿来有信,事若春梦了无痕


  • 首页

  • Redis

  • java

  • linux

  • 日常问题

  • Spring和Springboot

  • Mac相关

  • 中间件

  • 架构

  • python

  • 前端

  • jvm

  • c语言

  • web3

  • 归档

  • 关于

  • 搜索
close

时间: 0001-01-01   |   阅读: 6 字 ~1分钟

Redis命令回溯方案

公司的缓存经常报CPU高的情况,在警报报出来的时刻,可能已经过了实例峰值执行的时间段了,再执行monitor命令去分析命令可能已经不够准确了,没法准确还原现场。另外monitor命令也不能长时间执行。

我有一个想法,就是做一个类似AOF机制的功能,每秒将执行的所有命令写入磁盘,只记录 【时间戳,命令,缓存Key,值长度】这几个字段的值,这样儿可以确保日志记录文件不会很大,也不需要aof重写。日志文件保留24小时,每天执行定时任务进行清除。

这个方案的缺点是需要修改Redis的源码,增加类似AOF的执行功能或者新增Redis Module,难度较高,另外对于已存在的应用,去做相应改造的话,需要涉及到集群的重建和迁移,工作量较大,迁移操作过程可能会对现有业务有所影响。

不与天斗Domino

不与天斗Domino

Programmer & Architect

183 日志
15 分类
224 标签
© 2013 - 2023 天地维杰网 京ICP备13019191号-1
Powered by - Hugo v0.63.2
Theme by - NexT
0%