Я новичок в весенних данных Redis. Я использовал весенние загрузочные данные redis 2.0.3, как показано ниже (из моей сборки gradle)
compile('org.springframework.boot:spring-boot-starter-data-redis:2.0.3.RELEASE')
compile('io.lettuce:lettuce-core:5.1.3.RELEASE')
Когда я пытаюсь создать create(PUT) или get(GET), в диспетчере Redis Desktop он заметил, что ключ создан в указанном сегменте, но в пустом пространстве имен (папке) под сегментом. Но я хочу создать ключи кеша только в ведре (пространство имен), но не в пустой подпапке, например в другом пустом пространстве имен (папка - я мог видеть из диспетчера рабочего стола Redis)
@Bean
LettuceConnectionFactory lettuceClientConfigurationConnectionFactory() {
RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
redisStandaloneConfiguration.setHostName(redisHostName);
redisStandaloneConfiguration.setPort(redisPort);
redisStandaloneConfiguration.setPassword(RedisPassword.of(redisAuth));
redisStandaloneConfiguration.setDatabase(0);
LettuceClientConfiguration.LettuceClientConfigurationBuilder lettuceClientConfiguration = LettuceClientConfiguration.builder();
lettuceClientConfiguration.useSsl();
LettuceConnectionFactory lettuceConFactory = new LettuceConnectionFactory(redisStandaloneConfiguration,
lettuceClientConfiguration.build());
return lettuceConFactory;
}
@Bean
public RedisCacheConfiguration cacheConfiguration() {
RedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
RedisSerializer stringRedisSerializer = new StringRedisSerializer();
RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
.disableCachingNullValues()
.entryTtl(Duration.ofHours(1))
.serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(stringRedisSerializer))
.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(genericJackson2JsonRedisSerializer));
redisCacheConfiguration.usePrefix();
return redisCacheConfiguration;
}
@Bean
@Primary
public CacheManager initRedisCacheManager(LettuceConnectionFactory factory) {
RedisCacheManager.RedisCacheManagerBuilder builder = RedisCacheManager
.RedisCacheManagerBuilder.fromConnectionFactory(factory);
builder.cacheDefaults(cacheConfiguration());
builder.transactionAware();
RedisCacheManager cacheManager = builder.build();
cacheManager.afterPropertiesSet();
return cacheManager;
}