密钥空间定义用于为 Redis 哈希创建实际密钥的前缀。
默认情况下,前缀设置为 。
您可以通过在聚合根级别进行设置或设置编程配置来更改此默认值。
但是,带注释的密钥空间将取代任何其他配置。getClass().getName()
@RedisHash
以下示例演示如何使用注释设置密钥空间配置:@EnableRedisRepositories
例 1.密钥空间设置方式
@EnableRedisRepositories
@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"));
}
}
}
下面的示例演示如何以编程方式设置密钥空间:
例 2.编程密钥空间设置
@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"));
}
}
}