Spring boot Spring(启动)-redis缓存-是否需要创建存储库?

Spring boot Spring(启动)-redis缓存-是否需要创建存储库?,spring-boot,spring-data-redis,Spring Boot,Spring Data Redis,我想问一个关于SpringCache注释和存储库创建的问题 我正在尝试使用Spring引导在redis中缓存我的值。 (我有一个值,如果它不在缓存中,我需要缓存它,如果它在缓存中,我需要从那里获取它) 我在网上看到了一些教程,一些使用缓存注释,另一些模拟缓存存储库。(也许他们没有相互排斥,这是我的问题) 以下是我读过的一些教程: 上面的一些注释使用@Cacheable、@CachePut和@cacheexecute注释: @CachePut(value = 'user', key

我想问一个关于SpringCache注释和存储库创建的问题

我正在尝试使用Spring引导在redis中缓存我的值。 (我有一个值,如果它不在缓存中,我需要缓存它,如果它在缓存中,我需要从那里获取它)

我在网上看到了一些教程,一些使用缓存注释,另一些模拟缓存存储库。(也许他们没有相互排斥,这是我的问题)

以下是我读过的一些教程:

  • 上面的一些注释使用@Cacheable、@CachePut和@cacheexecute注释:

        @CachePut(value = 'user', key = "#id")
        @CacheEvict(value = 'user', key = "#id")
    
    并使用以下注释作为假定存储的类的前缀:

    @RedisHash("balance")
    
    他们还扩展了JPA或CRUDEPository。然而,第三个存储库创建了自己的存储库

    我的问题是: 如果我使用上述注释(@Cacheable、@CachePut和@cacheexecute),我是否应该通过扩展crudepository为我感兴趣的类对象创建一个存储库? 还是spring在使用上述注释时自动创建并自动管理它? 如果您自己扩展Crudepository,您将如何从Redis按键检索项目


    谢谢

    不用了。请注意,第三个链接没有提到预先缓存。有两个项目,带redis缓存提供程序的SpringCache和SpringDataRedis。第三个链接讨论更大、更一般的用例。SpringDataRedis旨在支持redis作为一个成熟的持久层。不过,您当然可以自由地仅将redis用作缓存层。在这种情况下,除了使用普通注释之外,您不需要做任何事情,也不应该做任何事情。

    我认为答案是否定的,因为缓存对调用方是透明的,不需要通过存储库手动管理。嗨,Guisong,谢谢你的回答,我认为答案是一样的,但是很多人一直在创建它,所以可能需要它