跳到主要内容

Redis

DeepSeek V3 中英对照 Redis

Spring Data 支持的键值存储之一是 Redis。引用 Redis 项目主页的话:

Redis 是一个高级的键值存储系统。它与 memcached 类似,但数据集是非易失性的,并且值可以是字符串(与 memcached 完全相同),也可以是列表、集合和有序集合。所有这些数据类型都可以通过原子操作来操作,例如推送/弹出元素、添加/删除元素、在服务器端执行集合的并集、交集、差集等操作。Redis 支持多种排序功能。

Spring Data Redis 为 Spring 应用程序提供了简便的配置和访问 Redis 的方式。它提供了低级别和高级别的抽象,用于与存储进行交互,从而让用户无需关注基础设施问题。

Spring Data 对 Redis 的支持包含了广泛的功能:

为什么选择 Spring Data Redis?

Spring 框架是领先的全栈 Java/JEE 应用程序框架。它提供了一个轻量级的容器,并通过使用依赖注入、AOP 和可移植的服务抽象来实现非侵入式的编程模型。

NoSQL 存储系统为水平扩展和速度提供了传统关系型数据库管理系统(RDBMS)的替代方案。在实现方面,键值存储是 NoSQL 领域中最庞大(也是最古老)的成员之一。

Spring Data Redis(SDR)框架通过消除与 Redis 键值存储交互所需的冗余任务和样板代码,使得编写使用 Redis 的 Spring 应用程序变得非常简单。这一切都得益于 Spring 优秀的基础设施支持。

Redis 支持的高层视角 {#redis:architecture}

Redis 支持提供了多个组件。对于大多数任务,高级抽象和支持服务是最佳选择。请注意,您可以在任何时候在各个层次之间切换。例如,您可以获取一个低级连接(甚至是原生库)来直接与 Redis 进行通信。

章节摘要

📄️ 通过 RedisTemplate 操作对象

大多数用户可能会使用 RedisTemplate 及其对应的包 org.springframework.data.redis.core,或者它的响应式变体 ReactiveRedisTemplate。事实上,由于 RedisTemplate 功能丰富,它是 Redis 模块的核心类。RedisTemplate 为 Redis 交互提供了高级抽象。虽然 \[Reactive]RedisConnection 提供了接受和返回二进制值(字节数组)的低级方法,但 RedisTemplate 负责序列化和连接管理,使用户无需处理这些细节。