【问题标题】:Spring Data Redis vs Spring Session Data RedisSpring Data Redis 与 Spring Session Data Redis
【发布时间】:2021-09-13 05:20:48
【问题描述】:

我希望使用 Redis 在 Spring Boot 应用程序中实现用户会话。 我遇到了两个旨在实现这些目标的重要依赖项。 Spring Data RedisSpring Session Data Redis

但是,我尝试寻找这些依赖项的差异,但无济于事。

根据我的理解,如果我只考虑使用 Redis 进行会话管理,那么我应该使用 Spring Session Data Redis(尽管 Spring Data Redis 也可以工作,但没有那么优雅)。

另一方面,如果我正在考虑使用 Redis 进行会话管理和缓存,那么 Spring Data Redis 是一个更好的选择。

【问题讨论】:

    标签: spring-boot redis spring-data-redis spring-session


    【解决方案1】:

    一般来说,Spring Session 为 Spring 应用程序中的会话管理提供支持。它支持各种不同的后端来存储会话数据,其中之一是 Redis。此 Redis 支持由 Spring Session Data Redis 提供。

    Spring Session Data Redis 构建在 Spring Data Redis 之上,使用它来简化在 Redis 中存储会话数据的代码。鉴于两者之间的这种关系,这并不是一个选择一个与另一个的问题。使用 Spring Session Data Redis 进行会话管理,同时使用 Spring Data Redis 存储应用程序自己的数据是这两个项目的常见用法。

    【讨论】:

    • 感谢您的回复,安迪!我明白了,因此在必要时使用 Spring Data Redis 和 Spring Session Data Redis 是一种常见的做法。但是,这会不会是一个相当大的开销?特别是如果 Spring Data Redis 也可以执行会话管理。
    • 根据我的经验,Spring Session 的开销可以忽略不计。此外,Spring Data Redis 不能开箱即用地执行会话管理。您将不得不编写一些代码来重塑 Spring Session 已经提供的功能。
    【解决方案2】:

    是的,您的理解是正确的。您可以找到 Spring 会话数据 redis here 和 Spring Data redis here 的文档

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 2021-01-06
      • 2017-09-22
      • 1970-01-01
      • 2020-11-07
      • 2016-03-18
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      相关资源
      最近更新 更多