跳到主要内容

支持类

DeepSeek V3 中英对照 Support Classes

org.springframework.data.redis.support 包提供了各种可重用的组件,这些组件依赖于 Redis 作为后端存储。目前,该包包含了基于 JDK 的接口在 Redis 上的各种实现,例如 atomic 计数器和 JDK Collections

备注

RedisList 与 Java 21 的 SequencedCollection 是向前兼容的。

原子计数器使得在 Redis 中封装键的递增操作变得简单,而集合则允许以最小的存储暴露或 API 泄漏来轻松管理 Redis 键。特别是,RedisSetRedisZSet 接口提供了对 Redis 支持的集合操作(如 intersectionunion)的便捷访问。RedisList 在 Redis 的基础上实现了 ListQueueDeque 的契约(及其等效的阻塞版本),将存储暴露为 FIFO(先进先出)、LIFO(后进先出)或有限集合,仅需最少的配置。以下示例展示了使用 RedisList 的 bean 的配置:

@Configuration
class MyConfig {

// …

@Bean
RedisList<String> stringRedisTemplate(RedisTemplate<String, String> redisTemplate) {
return new DefaultRedisList<>(template, "queue-key");
}
}
java

以下示例展示了一个 Deque 的 Java 配置示例:

public class AnotherExample {

// injected
private Deque<String> queue;

public void addTag(String tag) {
queue.push(tag);
}
}
java

如前例所示,消费代码与实际存储实现是解耦的。事实上,代码中并没有明确表明底层使用了 Redis。这使得从开发环境迁移到生产环境变得透明,并极大地提高了可测试性(Redis 实现可以被替换为内存实现)。