Redis
Spring Data 支持的一个键值存储是 Redis。引用 Redis 项目主页: Redis is an advanced key-value store. It is similar to memcached but the dataset is not volatile, and values can be strings, exactly like in memcached, but also lists, sets, and ordered sets. All this data types can be manipulated with atomic operations to push/pop elements, add/remove elements, perform server side union, intersection, difference between sets, and so forth. Redis supports different kind of sorting abilities. Spring Data Redis 提供了从 Spring 应用程序轻松配置和访问 Redis 的方法。它提供了低级别和高级别的抽象,用于与存储进行交互,从而将用户从基础设施问题中解放出来。 Spring Data 对 Redis 的支持包含广泛的功能:
-
RedisTemplate
andReactiveRedisTemplate
helper class,可提高执行常见 Redis 操作时取得的效率。包括对象与值之间的集成序列化。 -
异常转换为 Spring 的可移植数据访问异常层次结构。
-
Repository interfaces 的自动实现,包括对自定义查询方法的支持。
-
功能丰富的 Object Mapping,与 Spring 的转换服务集成。
-
基于注释的映射元数据,可扩展以支持其他元数据格式。
-
Transactions and Pipelining.
-
通过 Spring 缓存抽象进行 Redis Cache 集成。
-
适用于 Java 的 Redis Collection Implementations,例如
RedisList`或 `RedisSet
。
Why Spring Data Redis?
Spring Framework 是领先的全栈 Java/JEE 应用程序框架。它提供了一个轻量级容器和一个非侵入式编程模型,通过使用依赖注入、AOP 和可移植服务抽象来启用。
NoSQL 存储系统为水平可扩展性和速度提供了经典 RDBMS 的替代方案。在实现方面,键值存储是 NoSQL 空间中规模最大(也是最古老的)成员之一。
Spring Data Redis (SDR) 框架通过消除通过 Spring 的出色基础设施支持与存储进行交互所需的冗余任务和样板代码,使编写使用 Redis 键值存储的 Spring 应用程序变得容易。