前言
Spring Data Redis项目将核心Spring概念应用于使用键值样式数据存储的解决方案开发。 我们提供了一个“模板”作为发送和接收消息的高级抽象。 你会注意到Spring框架中JDBC支持的相似之处。
1. 新特性
新的和最值得注意的最新版本。
1.1. Spring Data Redis 2.0中的新功能
升级到Java 8.
升级到 Lettuce 5.0.
删除了对SRP和JRedis驱动程序的支持。
Reactive connection support using Lettuce.
为RedisConnection引入Redis功能特定的接口。
通过JedisClientConfiguration和LettuceClientConfiguration改进了RedisConnectionFactory配置。
修订RedisCache实现。
用Redis 3.2的count命令添加
SPOP
。
1.2. Spring Data Redis 1.8 中的新功能
- 升级到Jedis 版本到2.9.
- 升级到Lettuce版本到4.2(注:Lettuce 4.2需要Java 8)
- 支持Redis GEO命令
- 使用Spring Data Repository抽象支持Geospatial索引(请参阅Geospatial索引)
- 基于MappingRedisConverter的HashMapper实现(请参阅Hash mapping)
- 支持PartialUpdate(请参阅Partial Updates)。
- 支持SSL连接到Redis群集。
- 使用Jedis时,通过ConnectionFactory支持客户端名称。
1.3. Spring Data Redis 1.7 中的新功能
- 支持RedisCluster。
- 支持Spring Data Repository抽象(请参阅Redis Repositories)。
1.4. Spring Data Redis 1.6 中的新功能
Lettuce Redis 驱动从 wg/lettuce 切换到 mp911de/lettuce.。
支持
ZRANGEBYLEX
.增强了ZSET的范围操作,包括+ inf / -inf。
RedisCache中的性能改进现在可以更早地释放连接。
Generic Jackson2 RedisSerializer利用Jackson的多态反序列化。
1.5. Spring Data Redis 1.5 中的新功能
- 添加对Redis HyperLogLog命令PFADD,PFCOUNT和PFMERGE的支持。
- 基于Jackson的RedisSerializers的可配置JavaType查找。
- 基于PropertySource的配置,用于连接到Redis Sentinel(请参阅:Redis Sentinel支持)。
介绍
本文档是Spring Data Redis(SDR)支持的参考指南。 它解释了键值模块的概念和语义以及各种存储命名空间的语法。
有关键值存储或Spring或Spring Data示例的介绍,请参阅入门 - 本文档仅涉及Spring Data Redis支持,并假定用户熟悉键值存储和Spring概念。
2.为什么用Spring Data Redis?
Spring框架是领先的全堆栈Java/JEE应用程序框架。 它通过使用依赖注入,AOP和便携式服务抽象提供了一个轻量级的容器和一个非侵入式的编程模型。
NoSQL存储为经典RDBMS提供了一种水平可伸缩性和速度的替代方案。 在实现方面,Key Value存储是NoSQL领域最大(也是最老)的成员之一。
Spring Data Redis(或SDR)框架,通过Spring的卓越的基础设施支持,可以轻松编写使用Redis键值存储的Spring应用程序,从而消除了与存储交互所需的冗余任务和样板化的代码。
3. 要求
Spring Data Redis 1.x二进制文件需要JDK级别6.0及以上,以及Spring Framework 5.0.2.RELEASE及更高版本。
在键值存储方面,Redis 2.6.x或更高版本是必需的。 Spring Data Redis目前正在针对最新的3.2版本进行测试。
4. 开始
学习新的框架并不总是直截了当的。 在这一节中,我们(Spring Data团队)试图提供一个简单易懂的从Spring Data Redis模块开始的指南。 当然,如果可能的话,随意创建自己的学习“路径”,如果可能的话,请报告任何可以帮助他人的文档的改进。
4.1. 第一步
正如为什么用Spring Data Redis?中所解释的,Spring Data Redis(SDR)提供了Spring框架与Redis关键值存储之间的集成。 因此,熟悉这两种框架(存储或环境,取决于你想如何命名)是非常重要的。 在整个SDR文档中,每个部分提供与相关资源的链接,但是最好事先熟悉这些。
4.1.1 认识Spring
Spring Data大量使用Spring框架的核心功能,如IoC容器,资源抽象或AOP基础架构。 虽然了解Spring API并不重要,但理解它们背后的概念是比较重要的。 IoC背后的想法至少应该是熟悉的。 也就是说,对Spring的了解越多,就会越快地掌握Spring Data Redis。 除了详细解释Spring框架的非常全面(and sometimes disarming)的文档之外,还有很多关于这个问题的文章,博客文章和书籍 - 请参阅Spring Guides主页以获取更多信息。 一般来说,这应该是开发者想要试用Spring DR的起点。
4.1.2. 认识NoSQL和键值存储
NoSQL存储已经风靡了整个存储世界。 这是一个有着大量解决方案,术语和模式的广阔领域(如果术语本身具有多重意义,情况会变得更糟)。 尽管一些原则是常见的,但用户在某种程度上熟悉SDR所支持的存储是至关重要的。 了解这些解决方案的最好方法是阅读他们的文档,并遵循他们的例子 - 通常不需要超过5-10分钟的时间,如果你有来自RDMBS专用的背景,这些练习很多次 可以让你大开眼界。
4.1.3.
可以在http://github.com/spring-projects/spring-data-keyvalue-examples上的专门例子仓库中找到键值存储的各种例子。 对于Spring Data Redis,感兴趣的是retwisj示例,这是一个构建在Redis之上的Twitter克隆,可以在本地运行或部署到云中。 请参阅其文档,以下博客条目或实时实例以获取更多信息。
4.2. 需要帮助?
如果遇到问题,或者您只是在寻求建议,请随时使用以下链接之一:
4.2.1. 社区支持
Stackoverflow上的Spring Data标签是所有Spring Data(不仅仅是Redis)用户共享信息和互相帮助的信息板。 请注意,注册之后才能发布内容。
4.2.2. 专业支持
Pivotal Software,Inc.是Spring Data和Spring旗下公司,提供专业的,源代码的支持,保证响应时间。
4.3. 后续开发
有关Spring数据源代码库的信息,每晚构建和快照构件,请参阅Spring Data主页。
您可以通过在Spring-data或spring-data-redis上与Stackoverflow上的开发人员交互来帮助Spring Data最好地满足Spring社区的需求。
如果遇到Bug或想要改进,请在Spring Data issue tracker上创建一个ticket。
要了解Spring生态系统的最新消息和最新消息,请订阅Spring Community Portal。
最后,您可以在Twitter上关注Spring博客或项目团队(@SpringData)。
参考文档
文档结构
参考文档的这一部分介绍了Spring Data Redis提供的核心功能。
Redis支持引入了Redis模块功能集。