获取平台Redis各项性能指标

[复制链接]
发表于 2026-1-2 23:52:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
业务场景

         在XXXX项目中把A网的过车数据传到B网中,此中做了一个业务处理处罚,就是如果由于网络大概其他缘故起因导致把数据传到B网失败,就会把数据临时先存到redis里,而且实行定时任务重新发送失败的。
题目

         不外现场的环境比力不稳固。出现题目的缘故起因是XX平台的云存储忽然崩掉,技能与总部云存储研发的同事花了较长的时间,末了才把平台重新规复,在此期间由于无法从云存储中读取图片导致发送过车数据失败,且柳州逐日车流量较大。末了导致平台的redis积蓄了大量数据,而平台其他组件也必要依赖redis,进而影响整个平台的运行。
办理方案

         在存储数据前读取redis里的数据占用率百分比,然后设置文件里有个给我们设置的数值,如果redis里实际的占用率高出设置的这个数值,每当放入一条新的数据就会去除一条最旧的数据。若没有高出这个设置值,则按正常存入redis。
下面是把大多大概必要用到的性能指标封装到一个实体类里
RedisInfo  
  1. public class RedisInfo {
  2.     private static Map<String, String> map = new HashMap<>();
  3.     static {
  4.         map.put("redis_version", "Redis 服务器版本");
  5.         map.put("redis_git_sha1", "Git SHA1");
  6.         map.put("redis_git_dirty", "Git dirty flag");
  7.         map.put("os", "Redis 服务器的宿主操作系统");
  8.         map.put("arch_bits", " 架构(32 或 64 位)");
  9.         map.put("multiplexing_api", "Redis 所使用的事件处理机制");
  10.         map.put("gcc_version", "编译 Redis 时所使用的 GCC 版本");
  11.         map.put("process_id", "服务器进程的 PID");
  12.         map.put("run_id", "Redis 服务器的随机标识符(用于 Sentinel 和集群)");
  13.         map.put("tcp_port", "TCP/IP 监听端口");
  14.         map.put("uptime_in_seconds", "自 Redis 服务器启动以来,经过的秒数");
  15.         map.put("uptime_in_days", "自 Redis 服务器启动以来,经过的天数");
  16.         map.put("lru_clock", " 以分钟为单位进行自增的时钟,用于 LRU 管理");
  17.         map.put("connected_clients", "已连接客户端的数量(不包括通过从属服务器连接的客户端)");
  18.         map.put("client_longest_output_list", "当前连接的客户端当中,最长的输出列表");
  19.         map.put("client_longest_input_buf", "当前连接的客户端当中,最大输入缓存");
  20.         map.put("blocked_clients", "正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量");
  21.         map.put("used_me
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表