Java 无法在Spring boot应用程序中使用Redis模板获取任何密钥

Java 无法在Spring boot应用程序中使用Redis模板获取任何密钥,java,spring,spring-boot,redis,Java,Spring,Spring Boot,Redis,在我的Spring boot应用程序中,我编写了以下代码段来初始化Redis模板并获取Redis中的所有密钥: @Bean public RedisTemplate<String, Object> redisTemplate( @Qualifier("CachePoolRedisConnection") RedisConnectionFactory factory) { ObjectMapper objectMapper = new Obj

在我的Spring boot应用程序中,我编写了以下代码段来初始化Redis模板并获取Redis中的所有密钥:

@Bean
  public RedisTemplate<String, Object> redisTemplate(
      @Qualifier("CachePoolRedisConnection") RedisConnectionFactory factory) {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
    Jackson2JsonRedisSerializer jackson2JsonRedisSerializer =
        new Jackson2JsonRedisSerializer(Object.class);
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
    jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
    RedisTemplate<String, Object> template = new RedisTemplate();
    template.setConnectionFactory(factory);
    template.setKeySerializer(new StringRedisSerializer());
    template.setValueSerializer(jackson2JsonRedisSerializer);
    template.setHashKeySerializer(new StringRedisSerializer());
    template.setHashValueSerializer(jackson2JsonRedisSerializer);
    template.afterPropertiesSet();

    Set<String> existingKeysInRedis = template.keys("*");
    System.out.println("After initialization, existing keys in redis are : " + existingKeysInRedis);  <--I AM GETTING NO KEYS HERE
    return template;
   }
在这里,我得到一个空值,即使Redis中实际存在
key1
。不知道为什么会这样

在这方面,我在这里发现了以下帖子:和

但即使遵循了这些帖子中提到的方法,我也无法检索任何密钥。有人能帮忙吗

Object value = template.opsForValue().get("key1");