Redis
Spring Data 支持的键值存储之一是 Redis。引用 Redis 项目主页:
Redis 是一个高级键值存储。它类似于 memcached,但数据集不是易失的,并且值可以是字符串,就像在 memcached 中一样,但也可以是列表、集合和有序集合。所有这些数据类型都可以通过原子操作进行操作,以推入/弹出元素、添加/删除元素、执行服务器端集合之间的并集、交集、差集等等。Redis 支持不同类型的排序能力。
Spring Data Redis 为 Spring 应用程序提供了 Redis 的便捷配置和访问。它为与存储交互提供了低级和高级抽象,将用户从基础设施问题中解放出来。
Spring Data 对 Redis 的支持包含广泛的功能:
-
RedisTemplate和ReactiveRedisTemplate辅助类,可提高执行常见 Redis 操作的效率。包括对象和值之间的集成序列化。 -
将异常转换为 Spring 的可移植数据访问异常层次结构。
-
Repository 接口的自动实现,包括对自定义查询方法的支持。
-
功能丰富的对象映射,与 Spring 的 Conversion Service 集成。
-
基于注解的映射元数据,可扩展以支持其他元数据格式。
-
通过 Spring 的缓存抽象集成的Redis 缓存。
-
Redis 发布/订阅消息和Redis 流监听器。
-
针对 Java 的Redis 集合实现,例如
RedisList或RedisSet。
为什么选择 Spring Data Redis?
Spring Framework 是领先的全栈 Java/JEE 应用程序框架。它提供了一个轻量级容器和通过依赖注入、AOP 和可移植服务抽象实现的非侵入式编程模型。
NoSQL 存储系统为横向扩展和速度提供了传统 RDBMS 的替代方案。在实现方面,键值存储是 NoSQL 领域最大(也是最古老)的成员之一。
Spring Data Redis (SDR) 框架通过消除与存储交互所需的冗余任务和样板代码,并借助 Spring 出色的基础设施支持,使得编写使用 Redis 键值存储的 Spring 应用程序变得容易。
Redis 支持高级视图
Redis 支持提供了几个组件。对于大多数任务,高级抽象和支持服务是最佳选择。请注意,您可以随时在各层之间切换。例如,您可以获得低级连接(甚至原生库)以直接与 Redis 通信。