Spring Data 项目的主要目标是更轻松地构建基于 Spring 的应用程序,这些应用程序使用新的数据访问技术,例如非关系数据库、map-reduce 框架和基于云的数据服务。
该模块提供与 Redis 存储的集成。只要 Valkey 与 Redis 保持基本兼容,它也经过测试可以尽力与 Valkey 配合使用。
连接包作为跨多个 Redis 驱动程序(Lettuce 和 Jedis)的低级抽象。
Redis 驱动程序异常到 Spring 的可移植数据访问异常层次结构的异常转换
RedisTemplate
提供了执行各种 Redis 操作、异常转换和序列化支持的高级抽象。
Pubsub 支持(例如用于消息驱动 POJO 的 MessageListenerContainer)。
Redis Sentinel 和 Redis Cluster 支持。
使用 Lettuce 驱动程序的反应式 API。
JDK、String、JSON 和 Spring 对象/XML 映射序列化器。
Redis 之上的 JDK Collection 实现。
原子计数器支持类。
排序和流水线功能。
专门支持 SORT、SORT/GET 模式和返回的批量值。
Spring 3.1 缓存抽象的 Redis 实现。
自动实现Repository
接口,包括支持使用@EnableRedisRepositories
的自定义查找器方法。
对存储库的 CDI 支持。
该项目受 Spring 行为准则管辖。通过参与,您应该遵守本行为准则。请将不可接受的行为报告至 [email protected]。
以下是在 Java 中使用 Spring Data Redis 的应用程序的快速预览:
public class Example {
// inject the actual template
@ Autowired
private RedisTemplate < String , String > redisTemplate ;
// inject the template as ListOperations
// can also inject as Value, Set, ZSet, and HashOperations
@ Resource ( name = "redisTemplate" )
private ListOperations < String , String > listOps ;
public void addLink ( String userId , URL url ) {
listOps . leftPush ( userId , url . toExternalForm ());
// or use template directly
redisTemplate . boundListOps ( userId ). leftPush ( url . toExternalForm ());
}
}
@ Configuration
class ApplicationConfig {
@ Bean
public RedisConnectionFactory redisConnectionFactory () {
return new LettuceConnectionFactory ();
}
}
添加 Maven 依赖:
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-redis</ artifactId >
< version >${version}</ version >
</ dependency >
如果您希望获得即将发布的主要版本的最新快照,请使用我们的 Maven 快照存储库并声明适当的依赖项版本。
< dependency >
< groupId >org.springframework.data</ groupId >
< artifactId >spring-data-redis</ artifactId >
< version >${version}-SNAPSHOT</ version >
</ dependency >
< repository >
< id >spring-snapshot</ id >
< name >Spring Snapshot Repository</ name >
< url >https://repo.spring.io/snapshot</ url >
</ repository >
Spring Data 遇到问题?我们很乐意提供帮助!
检查参考文档和 Javadocs。
学习 Spring 基础知识 – Spring Data 基于 Spring Framework 构建,请查看 spring.io 网站以获取大量参考文档。如果您刚刚开始使用 Spring,请尝试其中一个指南。
如果您要升级,请查看发行说明以了解“值得注意的新功能”。
提出问题 - 我们监控 stackoverflow.com 中是否有带有spring-data-redis
标签的问题。您还可以在 Gitter 上与社区聊天。
在 github.com/spring-projects/spring-data-redis 上报告 Spring Data Redis 的错误。
Spring Data 使用 Github 作为问题跟踪系统来记录错误和功能请求。如果您想提出问题,请遵循以下建议:
在记录错误之前,请搜索问题跟踪器以查看是否有人已经报告了该问题。
如果该问题尚不存在,请创建一个新问题。
请在问题报告中提供尽可能多的信息,我们想知道您正在使用的 Spring Data 版本、JVM 版本、Stacktrace 等。
如果您需要粘贴代码,或包含堆栈跟踪,请使用 Markdown 代码围栏``。
如果可能的话,尝试创建一个复制问题的测试用例或项目。附上您的代码或包含您的代码的压缩文件的链接。
您不需要从源代码构建来使用 Spring Data(repo.spring.io 中的二进制文件),但如果您想尝试最新和最好的,可以使用 Maven 包装器轻松构建 Spring Data。您还需要 JDK 17 或更高版本并make
.本地构建环境在Makefile
中进行管理,以各种配置(独立、哨兵、集群等)下载、构建和启动 Redis
$ make test
前面的命令运行完整的构建。您可以使用make start
、 make stop
和make clean
命令自行控制环境。如果您想避免服务器不断重新启动,这非常有用。启动所有 Redis 实例后,您可以在 IDE 中运行测试或完整的 Maven 构建:
$ ./mvnw clean install
如果您想使用常规mvn
命令进行构建,则需要 Maven v3.8.0 或更高版本。
如果您希望提交拉取请求,另请参阅 CONTRIBUTING.adoc,特别是请在第一次重要更改之前签署贡献者协议。
构建文档也会构建项目,而无需运行测试。
$ ./mvnw clean install -Pantora
生成的文档可从target/antora/site/index.html
获取。
spring.io 站点包含多个指南,演示如何逐步使用 Spring Data:
使用 Redis 进行消息传递:了解如何使用 Redis 作为消息代理。
使用 Redis 响应式访问数据:了解如何与 Redis 和 Spring Data 进行响应式交互。
Spring Data Examples 包含更详细地解释特定功能的示例项目。
Spring Data Redis 是在 Apache 2.0 许可证下发布的开源软件。