我想在我的春季启动应用程序中使用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字段,它可以正常工作,但是对于旧版本,它仍然无法工作
答案 0 :(得分:0)
如果您可以发布自己的Redis版本,spring-data-redis版本和存储库代码,将会更有帮助。
此外,您可以使用redis的MONITOR命令来查看服务器确切地将什么命令发送到redis服务器,这将有助于调试。