Keyspaces
Keyspaces 定义了前缀,这些前缀被用来创建Redis Hash的真正key。默认情况下前缀被设定为getClass().getName()。这个默认值可以被修改,通过在整体的根层上添加@RedisHash注解,或编写一个配置类。然而,加注解的keyspace 会覆盖任何其他配置。
Example 11. Keyspace Setup via @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, "persons"));
}
}
}
Example 12. Programmatic Keyspace setup
@Configuration
@EnableRedisRepositories
public class ApplicationConfig {
//... RedisConnectionFactory and RedisTemplate Bean definitions omitted
@Bean
public RedisMappingContext keyValueMappingContext() {
return new RedisMappingContext(
new MappingConfiguration(
new MyKeyspaceConfiguration(), new IndexConfiguration()));
}
public static class MyKeyspaceConfiguration extends KeyspaceConfiguration {
@Override
protected Iterable<KeyspaceSettings> initialConfiguration() {
return Collections.singleton(new KeyspaceSettings(Person.class, "persons"));
}
}
}
本文介绍如何使用Spring Data Redis配置Keyspaces,通过自定义配置类或注解来设置RedisHash的真实key前缀,以实现更灵活的数据组织方式。
1万+

被折叠的 条评论
为什么被折叠?



