对于最新的稳定版本,请使用 Spring Data Redis 3.4.5

可观察性

从应用程序组件中获取有关其作、计时以及与应用程序代码的关系的见解对于了解延迟至关重要。 Spring Data Redis 通过 Lettuce 驱动程序提供 Micrometer 集成,以在 Redis 交互期间收集观察结果。 设置集成后,Micrometer 将为每个 Redis 命令创建仪表和跨度(用于分布式跟踪)。

要启用集成,请将以下配置应用于LettuceClientConfiguration:

@Configuration
class ObservabilityConfiguration {

  @Bean
  public ClientResources clientResources(ObservationRegistry observationRegistry) {

    return ClientResources.builder()
              .tracing(new MicrometerTracingAdapter(observationRegistry, "my-redis-cache"))
              .build();
  }

  @Bean
  public LettuceConnectionFactory lettuceConnectionFactory(ClientResources clientResources) {

    LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
                                                .clientResources(clientResources).build();
    RedisConfiguration redisConfiguration = …;
    return new LettuceConnectionFactory(redisConfiguration, clientConfig);
  }
}

另请参阅 OpenTelemetry 语义约定 以获取进一步参考。

可观测性 - 指标

您可以在下面找到此项目声明的所有指标的列表。

Redis 命令观测

围绕 Redis 命令执行创建的计时器。

指标名称 spring.data.redis.类型 timer基本单位 seconds.

封闭类的完全限定名称org.springframework.data.redis.connection.lettuce.observability.RedisObservation.

表 1.低基数键

Redis 命令值。

db.redis.database_index

Redis 数据库索引。

数据库系统。

Redis 用户。

net.peer.name

数据库主机的名称。

net.peer.port

逻辑远程端口号。

net.sock.peer.addr

Mongo 对等地址。

net.sock.peer.port

Mongo 对等端口。

net.transport

网络传输。

表 2.高基数键

Redis 语句。

spring.data.redis.command.error

Redis 错误响应。

可观测性 - Span

您可以在下面找到此项目声明的所有 span 的列表。

Redis 命令观测 Span

围绕 Redis 命令执行创建的计时器。

Span 名称 spring.data.redis.

封闭类的完全限定名称org.springframework.data.redis.connection.lettuce.observability.RedisObservation.

表 3.标签键

名字

描述

db.operation

Redis 命令值。

db.redis.database_index

Redis 数据库索引。

db.statement

Redis 语句。

db.system

数据库系统。

db.user

Redis 用户。

net.peer.name

数据库主机的名称。

net.peer.port

逻辑远程端口号。

net.sock.peer.addr

Mongo 对等地址。

net.sock.peer.port

Mongo 对等端口。

net.transport

网络传输。

spring.data.redis.command.error

Redis 错误响应。


APP信息