【Spring连载】使用Spring Data访问Redis(十三)----支持类Support Classes

【Spring连载】使用Spring Data访问Redis(十三)----支持类Support Classes

org.springframework.data.redis.support包提供了各种可重复使用的组件,这些组件依赖Redis作为后端存储。目前,该包包含Redis之上的各种基于JDK的接口实现,如原子计数器和JDK集合。
RedisList与Java 21 SequencedCollection向前兼容。
原子计数器可以轻松地包装Redis key自增,而集合则可以轻松地管理Redis keys,同时将存储暴露或API泄漏(leakage)降至最低。特别是RedisSet和RedisZSet接口提供了对Redis支持的集合操作的轻松访问,如交集(intersection)和并集(union)。RedisList在Redis之上实现了List、Queue和Deque契约(及其等效的阻塞同级),以最小配置将存储暴露为FIFO(先进先出)、LIFO(后进先出)或有上限的集合。以下示例显示了使用RedisList的bean的配置:

@Configuration
class MyConfig {

  // …

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

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

public class AnotherExample {

  // injected
  private Deque<String> queue;

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

如前面的示例所示,消费代码与实际的存储实现解耦。事实上,没有迹象表明下面使用了Redis。这使得从开发环境迁移到生产环境变得透明,并且大大提高了可测试性(Redis的实现可以被内存中的(in-memory)实现取代)。

你可能感兴趣的:(spring,redis,java)