当前位置: 首页 > article >正文

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


http://www.kler.cn/a/228180.html

相关文章:

  • 微服务搭建----springboot接入Nacos2.x
  • Gaea项目的挑战与机遇:去中心化AI平台的未来发展
  • 【贪心算法】洛谷P1106 - 删数问题
  • Linux内核中IPoIB驱动模块的初始化与实现
  • 计算机网络 (59)无线个人区域网WPAN
  • 宝塔Linux+docker部署nginx出现403 Forbidden
  • 软件架构风格:您的系统设计指南
  • istio 限流
  • 基于EdgeWorkers的边缘应用如何进行单元测试?
  • UE4 C++ 静态加载类和资源
  • 05 - python操作JSON
  • 安卓9宫格密码键盘
  • 装饰你的APP:使用Lottie-Android创建动画效果
  • 2024清洁能源、环境与智慧城市国际研讨会(ISCEESC2024)
  • 如何使用第三方API采集电商数据呢?
  • Jetson AGX Orin安装Anaconda,Cuda,Cudnn,pytorch,Tensorrt,ROS
  • 【爬虫实战】全过程详细讲解如何使用python获取抖音评论,包括二级评论
  • Java后端面试总结
  • 一文讲明Jetpack中的图片组件
  • openEuler 22.03 docker安装elasticsearch 7.17.17
  • 【云原生运维问题记录】kubesphere登录不跳转问题
  • docker- php7.4
  • 【Linux】EXT2文件系统 | 磁盘分区块组 | inode
  • 基于springboot智慧养老平台源码和论文
  • 1.0 Hadoop 教程
  • 深度学习在智能交互中的应用:人与机器的和谐共生