首页 文章

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

提问于
浏览
1

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

我试图使用Spring启动在redis中缓存我的值 . (我有一个值,如果它不在缓存中,我需要缓存它,如果它在缓存中,我需要从那里获取它)

我已经看到了几个在线教程,一些使用缓存注释,另一些使用模拟缓存存储库 . (也许他们不排斥对方,这是我的问题)

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

上面的一些使用@ Cacheable,@ CachePut和@CacheEvict注释:

@CachePut(value = 'user', key = "#id")
    @CacheEvict(value = 'user', key = "#id")

并使用以下注释为应该存储的类添加前缀:

@RedisHash("balance")

它们还扩展了JPA或CrudRepository . 然而,第三个创建自己的存储库 .

我的问题是:如果我使用上面的注释(@ Cache,@ CachePut和@CacheEvict),我应该通过扩展CrudRepository来为我感兴趣的类对象创建一个存储库吗?或者,当使用上述注释并自动管理时,spring会自动创建吗?如果你自己扩展CrudRepository,你将如何通过Redis的密钥检索项目?

谢谢

1 回答

  • 1

    不需要这个 . 请注意,第三个链接没有提到预先缓存 . 有两个项目,带有redis缓存提供程序的spring缓存和spring数据redis . 第三个环节是讨论更大更普遍的用例 . Spring数据redis旨在支持redis作为完整的持久层 . 但是,您当然可以自由地仅使用redis作为缓存层 . 在这种情况下,除了使用普通注释之外,您不需要做任何事情

相关问题