I am new to spring data redis. I have used spring boot data redis 2.0.3 as shown below (from my gradle build)
compile('org.springframework.boot:spring-boot-starter-data-redis:2.0.3.RELEASE')
compile('io.lettuce:lettuce-core:5.1.3.RELEASE')
When I try to create create(PUT) or get(GET), it noticed in Redis Desktop manager that , the key are crated in the mentioned bucket but in a blank namespace(folder) under bucket. But I want to create the cache keys under the bucket(namespace) only but not in blank subfolder like another empty namespace(folder - from I could see from Redis Desktop manager)
@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;
}