Spring认证中国教育管理中心-Spring Data Redis框架教程三

本文档介绍了Spring Data Redis的响应式支持,包括如何连接到Redis、使用ReactiveRedisConnection和ReactiveRedisConnectionFactory,以及配置Lettuce连接器。文中详细讲解了ReactiveRedisTemplate的使用,字符串便利类,以及Redis的消息发布和订阅功能。此外,还涵盖了Redis集群的启用和使用。
摘要由CSDN通过智能技术生成

原标题:Spring认证中国教育管理中心-Spring Data Redis框架教程三

10.15.支持类


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

原子计数器可以轻松包装 Redis 密钥增量,而集合可以轻松管理 Redis 密钥,同时将存储暴露或 API 泄​漏降至最低。特别是,RedisSet和RedisZSet接口提供了对 Redis 支持的集合操作的轻松访问,例如intersection和union。RedisList实现List,Queue以及Deque合同(和它们的等效阻挡兄弟姐妹)上的Redis的顶部,露出存储作为FIFO(先入先出),LIFO(后进先出)或封端的集合以最小的配置. 以下示例显示了使用 的 bean 的配置RedisList:

<?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 配置示例Deque:

public class AnotherExample {

  // injected
  private Deque<String> queue;

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

Spring认证中国教育管理中心-Spring Data Redis框架教程三

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

1.响应式Redis支持

本节介绍反应式 Redis 支持以及如何开始。响应式 Redis 支持自然与命令式 Redis 支持有一定的重叠。

11.1.Redis 要求

Spring Data Redis 目前与Lettuce集成,作为唯一的反应式 Java 连接器。Project Reactor用作反应式组合库。

11.2.使用响应式驱动程序连接到 Redis

使用 Redis 和 Spring 时的首要任务之一是通过 IoC 容器连接到存储。为此,需要一个 Java 连接器(或绑定)。无论你选择的库中,你必须使用
org.springframework.data.redis.connection包及其ReactiveRedisConnection和ReactiveRedisConnectionFactory接口的工作和取得积极connections对Redis的。

11.2.1.Redis 操作模式

Redis 可以作为独立服务器运行,使用Redis Sentinel或以Redis 集群模式运行。 Lettuce支持所有前面提到的连接类型。

11.2.2.ReactiveRedisConnection和ReactiveRedisConnectionFactory

ReactiveRedisConnection是 Redis 通信的核心,因为它处理与 Redis 后端的通信。它还自动将底层驱动程序异常转换为 Spring 一致的 DAO 异常层次结构,因此您可以在不更改任何代码的情况下切换连接器,因为操作语义保持不变。


ReactiveRedisConnectionFactory创建活动ReactiveRedisConnection实例。此外,工厂充当PersistenceExceptionTranslator实例,这意味着一旦声明,它们就可以让您进行透明的异常转换——例如,通过使用@Repository注释和 AOP 进行异常转换。有关更多信息,请参阅Spring Framework 文档中的专用部分。

根据底层配置,工厂可以返回新连接或现有连接(如果使用池或共享本机连接)。

使用 a 的最简单方法
ReactiveRedisConnectionFactory是通过 IoC 容器配置适当的连接器并将其注入 using 类。

11.2.3.配置生菜连接器

Spring Data Redis 通过
org.springframework.data.redis.connection.lettuce包支持Lettuce。

您可以
ReactiveRedisConnectionFactory按如下方式设置生菜:

@Bean
public ReactiveRedisConnectionFactory connectionFactory() {
  return new LettuceConnectionFactory("localhost", 6379);
}

以下示例显示了一个更复

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技能咖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值