【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)实现取代)。

最近更新

  1. TCP协议是安全的吗?

    2024-02-05 06:50:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-05 06:50:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-05 06:50:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-05 06:50:01       18 阅读

热门阅读

  1. 小程序配置服务器域名

    2024-02-05 06:50:01       29 阅读
  2. 嵌入式系统设计师之文件系统(3.2.5)

    2024-02-05 06:50:01       31 阅读
  3. Linux inode

    2024-02-05 06:50:01       36 阅读
  4. @PostMapping/ @GetMapping等请求格式

    2024-02-05 06:50:01       31 阅读
  5. Flask 入门6:模板继承

    2024-02-05 06:50:01       29 阅读