当前位置: 首页 > 知识库问答 >
问题:

Spring boot data redis不会从存储库返回值

裴令秋
2023-03-14

我想在我的spring boot应用程序中使用Redis repository,但每次我想重新使用findById或findByName等方法时,每次repository都返回null,但当我运行findAll或save等函数时,一切都正常工作。这是我的代码:我主要使用了以下注释:@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个答案

颜修真
2023-03-14

如果您可以发布您的redis版本、spring data redis版本和存储库代码,这将更有帮助。

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

 类似资料:
  • 此示例存储库有一个方法 现在不需要使用Robolectric来单元测试了吗?

  • 我试图获取一个列表从数据库和findAll()返回空列表。我有多个jpa存储库,但只有一个不工作。这是代码: 这就是实体: 当我调用product类别epository.findAll()时,它返回空列表,因此我在数据库中有许多条目。谢谢你的帮助!

  • 我们使用Redis将各种应用程序配置存储在DB0中。 有没有可能在Redis中查询数据库中的每个键/值对,而不必执行两个单独的查询并自己加入键/值对? 我希望功能类似于以下内容: ...其中将返回元组的元组、列表的列表或字典: 然而,在浏览了StackOverflow,Google和Redis文档之后,我能得到的唯一解决方案(我还没有找到其他人问这个问题..)类似于以下内容: 我的问题根本不是如何

  • 我在努力打字 当我保存一个实体时,有时我的数据会更新,有时不会。完全相同的请求第一次不会起作用,但第二次会起作用。我使用保存()更新和插入。插入时一切都好。 以下是我的代码(使用NestJS键入表单): == == == == 当我在save()之后找到()时,我的用户地址不会更新,而我从Mongo收到了modifiedCount 1。如果我重复这个请求,这一次它是有效的。。。 有什么想法吗?

  • 我在使用spring-data-neo4j的项目中遇到了一些问题。我有一个节点实体类: 并使用以下方法为其创建存储库: 然后测试,就像这样: > 创建id为123456的广告节点,包含关键字1和关键字2-ok 创建id为654321且包含关键字1的广告节点-确定 获取广告ID 654321-工作正常,生成的查询是: 开始=节点:(={0})返回params{0=654321} 使用findSimi

  • java java 在TaskServiceImpl.java.FindAll(pageRequest)中返回NULL。我不太熟悉Mockito,想知道用它创建模拟存储库是否会导致问题?当我这样做时,它工作得很好。findall()没有分页。我使用PagingAndSortingRepository中的findAll(Pageable)方法有问题吗?谢了!