Spring Data Redis与Spring Session Data Redis的区别

3
我想在Spring Boot应用程序中使用Redis实现用户会话,有两个很好的依赖项可实现这些目标。它们分别是Spring Data RedisSpring Session Data Redis
然而,我尝试查找这些依赖项之间的区别,但没有找到。
据我理解,如果我只想使用Redis进行会话管理,那么我应该使用Spring Session Data Redis(即使Spring Data Redis也可以工作,但不如优雅)。
另一方面,如果我想要使用Redis进行会话管理和缓存,则Spring Data Redis是更好的选择。
2个回答

4

一般来说,Spring Session为Spring应用程序提供会话管理支持。它支持各种不同的后端存储会话数据,其中之一是Redis。Spring Session Data Redis为此提供了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也可以执行会话管理的话。 - WeiTang Lau
2
根据我的经验,Spring Session的开销可以忽略不计。此外,Spring Data Redis无法直接执行会话管理。您需要编写一些代码,这将是重新发明Spring Session已经提供的功能。 - Andy Wilkinson

0

是的,您的理解是正确的。您可以在这里找到Spring Session Data Redis的文档here和Spring Data Redis的文档here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接