Spring Boot数据Redis不会从存储库返回值

时间:2020-07-08 10:59:35

标签: spring-boot redis spring-data

我想在我的春季启动应用程序中使用Redis存储库,但是每次我想重新调用每次findRyId或findByName之类的方法时,每次存储库返回null时,但当我运行诸如findAll之类的功能或保存所有内容时,都可以正常工作。这是我的代码: 我主要使用了以下注释:@EnableRedisRepository(“ com.redis.repository.redis”) 我创建了RedisConfig文件:

@Configuration
public class RedisConfig {

@Bean
public LettuceConnectionFactory redisConnectionFactory() {
    return new LettuceConnectionFactory();
}

@Bean
public RedisTemplate<?, ?> redisTemplate() {
    RedisTemplate<?, ?> template = new RedisTemplate<>();
    template.setConnectionFactory(redisConnectionFactory());
    return template;
}

}

我还在域类之上添加了注释@RedisHash。

@Data
@AllArgsConstructor
@NoArgsConstructor
@RedisHash
public class Product {

@Id
private Long id;

private String name;

private String description;

private Double price;

private Double quantity;

}

这是我的pom文件

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis-reactive</artifactId>
        </dependency>

有人知道我做错了吗?

已编辑:

我添加到了@Indexed字段,它可以正常工作,但是对于旧版本,它仍然无法工作

1 个答案:

答案 0 :(得分:0)

如果您可以发布自己的Redis版本,spring-data-redis版本和存储库代码,将会更有帮助。

此外,您可以使用redis的MONITOR命令来查看服务器确切地将什么命令发送到redis服务器,这将有助于调试。