Spring Data 支持的键值存储之一是 Redis。 引用 Redis 项目主页:
Redis 是一种高级键值存储。 它类似于 memcached,但数据集不是易失性的,值可以是字符串,就像在 memcached 中一样,也可以是列表、集合和有序集合。 所有这些数据类型都可以通过原子操作来操作,以推送/弹出元素、添加/删除元素、执行服务器端并集、交集、集合之间的差值等。 Redis 支持不同类型的排序功能。
Spring Data Redis 提供从 Spring 应用程序轻松配置和访问 Redis。 它提供了低级和高级抽象,用于与商店进行交互,使用户摆脱了基础设施方面的考虑。
Spring Data 对 Redis 的支持包含广泛的功能:
-
RedisTemplate
和ReactiveRedisTemplate
帮助程序类,可在执行常见 Redis 操作时提高工作效率。 包括对象和值之间的集成序列化。 -
将异常转换为 Spring 的可移植数据访问异常层次结构。
-
自动实现存储库接口,包括对自定义查询方法的支持。
-
功能丰富的对象映射与 Spring 的转换服务集成。
-
基于注释的映射元数据,可扩展以支持其他元数据格式。
-
通过 Spring 的 Cache 抽象进行 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 通信。