背景go-redis提供了给出简单易用的API帮助我们使用redis, 但是经过对组内各个业务线的调研发现大家都有一个共同的需求: 希望对redis的每个操作集成Prometheus监控统计, 已方便业务侧进行更加细致的分析和优化方案设计故在使用...go-redis作为客户端的前提下, 针对go-redis和Prometheus的集成方案进行了一次调研, 总结出3个方案:方案描述优缺点方案1不做封装,直接在使用的时候打点简单, 代码侵入性强方案2将...Redis Client集成Prometheus在一起, 并重写常用的命令代码复用, 但需要重写常用的redis命令, 实现复杂, 后期维护困难方案3使用go-redis自带的hook集成Prometheus...插件化, 即用即插经过分析, 决定使用方案3进行实现实现定义指标并实现hook方法package redisimport ("context""github.com/go-redis/redis/v8"...= nil {return cmd.Err()}}return nil}注册hook到客户端, 并开启Prometheus指标收集package mainimport ("context""fmt""git.code.oa.com