探针支持的Redis客户端用法说明

本文对ARMS目前最新探针版本下各版本支持的主流Redis客户端的用法进行说明。

Lettuce

Lettuce客户端主要有以下几种用法:

  • 同步操作:通过io.lettuce.core.api.StatefulRedisConnection#sync来同步地进行调用,线上最新的ARMS探针支持此种用法。

  • 异步操作:通过io.lettuce.core.api.StatefulRedisConnection#async来使用JDK future等特性异步地进行调用,线上最新的ARMS探针对此类调用的支持情况不佳,可能会有调用时长,请求响应大小等数据统计不准的问题。

  • 响应式操作:通过io.lettuce.core.api.StatefulRedisConnection#reactive来使用Reactive响应式API进行响应式编程,线上最新的ARMS探针对此类调用的支持情况不佳,可能会有调用时长,请求响应大小等数据统计不准的问题。

  • 通过springboot-starter-redis进行操作:线上最新的ARMS探针只支持对org.springframework.data.redis.connection.lettuce.LettuceHashCommands类下Redis操作进行埋点监控。对于其他的例如RedisGeoCommands, RedisHyperLogLogCommands暂时均不支持。

Redisson

对于Redisson客户端,主要有以下几种用法:

  • 普通同步/异步操作:通过org.redisson.api.RedissonClient等类基于JDK future特性进行异步或者同步调用,线上最新的ARMS探针对此类调用的支持情况有局限性,只支持3.10.4以下的Redisson版本,对于3.10.4以上的版本会有部分新特性不支持(如3.17.4版本中引入的org.redisson.RedissonJsonBucket)。

  • 基于RxJava的响应式操作:通过org.redisson.api.RedissonRxClient等类基于RxJava API进行响应式编程,线上最新的ARMS探针对此类调用的支持情况不佳,可能会有调用时长,请求响应大小等数据统计不准的问题。

  • 基于Reactive的响应式操作:通过org.redisson.api.RedissonReactiveClient等类基于Reactive API进行响应式编程。线上最新的ARMS探针对此类调用的支持情况不佳,可能会有调用时长、请求响应大小等数据统计不准的问题。

Jedis

对于Jedis客户端,ARMS最新探针版本的支持相对完善,对Jedis客户端的各种用法基本支持。

升级4.X探针以获取更全面的Redis观测数据

若最新版本探针支持的Redis客户端用法无法满足您的需求,强烈建议您试用ARMS最新的4.X版本探针,4.X版本探针支持以上Redis客户端的各种用法。您可以提交工单获取最新的4.X版本探针。