对于最新的稳定版本,请使用 Spring Data Redis 3.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Data Redis 3.3.1Spring中文文档

Package 提供了各种可重用的组件,这些组件依赖于 Redis 作为后备存储。 目前,该软件包在 Redis 之上包含各种基于 JDK 的接口实现,例如原子计数器和 JDK 集合org.springframework.data.redis.supportSpring中文文档

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

原子计数器可以轻松包装 Redis 密钥增量,而集合允许轻松管理 Redis 密钥,同时将存储暴露或 API 泄漏降至最低。 特别是,和 接口提供了对 Redis 支持的集合操作的轻松访问,例如 和 。 在 Redis 之上实现 、 和 合约(及其等效的阻塞同级),以最少的配置将存储公开为 FIFO(先进先出)、LIFO(后进先出)或上限集合。 以下示例显示了使用 Bean 的配置:RedisSetRedisZSetintersectionunionRedisListListQueueDequeRedisListSpring中文文档

@Configuration
class MyConfig {

  // …

  @Bean
  RedisList<String> stringRedisTemplate(RedisTemplate<String, String> redisTemplate) {
    return new DefaultRedisList<>(template, "queue-key");
  }
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="
  http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="queue" class="org.springframework.data.redis.support.collections.DefaultRedisList">
    <constructor-arg ref="redisTemplate"/>
    <constructor-arg value="queue-key"/>
  </bean>

</beans>

以下示例显示了 Java 配置示例:DequeSpring中文文档

public class AnotherExample {

  // injected
  private Deque<String> queue;

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

如前面的示例所示,使用代码与实际存储实现分离。 事实上,没有迹象表明下面使用了 Redis。 这使得从开发环境到生产环境的迁移变得透明,并大大提高了可测试性(Redis 实现可以替换为内存中的实现)。Spring中文文档