本文对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版本探针。