此版本仍在开发中,尚未被视为稳定版本。如需使用最新稳定版本,请访问 Spring Data Redis 4.0.4spring-doc.cadn.net.cn

键空间

键空间(Keyspaces)定义了用于创建 Redis 哈希实际键的前缀。 默认情况下,该前缀被设置为 getClass().getName()。 您可以通过在聚合根级别上添加 @RedisHash 注解,或通过编程方式进行配置来更改此默认值。 然而,使用注解指定的键空间将优先于任何其他配置。spring-doc.cadn.net.cn

以下示例展示了如何使用 @EnableRedisRepositories 注解设置 keyspace 配置:spring-doc.cadn.net.cn

示例 1. 通过 @EnableRedisRepositories 设置 Keyspace
@Configuration
@EnableRedisRepositories(keyspaceConfiguration = MyKeyspaceConfiguration.class)
public class ApplicationConfig {

  //... RedisConnectionFactory and RedisTemplate Bean definitions omitted

  public static class MyKeyspaceConfiguration extends KeyspaceConfiguration {

    @Override
    protected Iterable<KeyspaceSettings> initialConfiguration() {
      return Collections.singleton(new KeyspaceSettings(Person.class, "people"));
    }
  }
}

以下示例展示了如何以编程方式设置 keyspace:spring-doc.cadn.net.cn

示例 2. 以编程方式设置 Keyspace
@Configuration
@EnableRedisRepositories
public class ApplicationConfig {

  //... RedisConnectionFactory and RedisTemplate Bean definitions omitted

  @Bean
  public RedisMappingContext keyValueMappingContext() {
    return new RedisMappingContext(
      new MappingConfiguration(new IndexConfiguration(), new MyKeyspaceConfiguration()));
  }

  public static class MyKeyspaceConfiguration extends KeyspaceConfiguration {

    @Override
    protected Iterable<KeyspaceSettings> initialConfiguration() {
      return Collections.singleton(new KeyspaceSettings(Person.class, "people"));
    }
  }
}