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