92、Redis ------- 使用 Lettuce 操作 Redis 的方法和步骤----(文字讲解无代码)

lettuce :英语的意思:生菜
是一个用来操作redis的框架,springboot内置默认支持的也是 lettuce ,也可以自己改成 jedis
Jedis 也是一个用来操作redis的框架

92、Redis ------- 使用 Lettuce 操作 Redis 的方法和步骤----(文字讲解无代码)_第1张图片

★ Lettuce的核心API

  • RedisURI:用于封装Redis服务器的URI信息。

  • RedisClient:代表Redis客户端,如果连接Cluster模式的Redis,则使用RedisClusterClient。
    有点类似于redis-cli工具。

  • StatefulConnection:代表Redis连接的父接口,它派生了不少子接口来代表不同的连接。

  • RedisCommands:用于执行Redis命令的接口,它的方法几乎覆盖了Redis的所有命令(前面介绍的那些命令全部都支持)
    它的方法名和Redis命令名也是一一对应的,肯定一看就会,
    比如Redis对操作Hash对象提供了hmset命令,那RedisCommands就支持hmset()方法,
    它派生了一个RedisPubSubCommands子接口,用于运行消息发布/订阅的命令。

★ Lettuce编程步骤:

使用Lettuce操作Redis的大致步骤如下:

(1)定义RedisURI(有点类似于数据库的URL),再以RedisURI为参数,创建RedisClient(普通单机模式的redis)或RedisClusterClient(集群模式的redis)对象

(2)调用 RedisClient 或 RedisClusterClient 的 connectXxx()方法 连接Redis服务器,根据所连接的Redis服务器的状态不同,该方法返回 StatefulRedisXxxConnection 连接对象

(3)调用StatefulRedisXxxConnection连接对象的sync()、async()或reactive()方法创建同步、异步或反应式模式的RedisCommands对象

sync:同步        async :异步        reactive:反应式

(4)调用RedisCommands执行Redis命令。这一步是变化最多的,因为RedisCommands可以执行Redis的全部命令

(5)关闭资源,就是关闭连接。关闭资源时按照惯例“先开后闭”,因此先关闭与Redis的连接对象,再关闭RedisClient对象。

redis的编程步骤:定义URI(指定连接的服务器) → 创建Client → 与服务器建立连接 → 创建RedisCommands 对象 → 通过 RedisCommands 对象来执行命令 → 关闭资源

★ 构建RedisURI:

Lettuce提供了如下三种方式来构建RedisURI:

方法1:调用静态的create()方法。这种方式要求把所有的连接信息都写在create()方法的String参数中。
该String参数既支持单机模式的Redis,也支持集群模式的Redis,也支持哨兵模式的Redis。

方法2: 调用Builder来构建。这种构建方式下,所有信息都通过Builder对应的方法逐项传入,因此可读性最好,这也是我所推荐的方式。

方法3: 调用构造器来构建。这种方式是最不灵活的方式,因为它只能传入3个构造器参数,通过该方式构建RedisURI之后还需要调用它的setter方法对它进行设置,这种方式是最差的一种。

官网中用Builder对应的方法构建RedisURI
用梯子的话能更好的访问官网,但是此刻的官网进不去了,在维护
92、Redis ------- 使用 Lettuce 操作 Redis 的方法和步骤----(文字讲解无代码)_第2张图片

★ 从RedisClient 到 StatefulConnection 连接对象

——用于获取与Redis服务器的连接

以RedisURI为参数,调用RedisClient(或 RedisClusterClient 用于集群)的create()静态方法即可创建RedisClient(或RedisClusterClient)对象。

根据Redis运行模式调用RedisClient或RedisClusterClient对象对应的connectXxx()方法获取StatefulConnection连接对象。

StatefulConnection提供如下常用子接口:

根据各种子接口,用来返回各种连接对象,如单机、集群、主从、哨兵
StatefulRedisConnection: 最基本的Redis连接。
StatefulRedisPubSubConnection: 带消息发布/订阅功能的Redis连接。
StatufulRedisMasterSlaveConnection: 主从模式的Redis连接。
StatefulRedisSentinelConnection: 哨兵模式的Redis连接。

92、Redis ------- 使用 Lettuce 操作 Redis 的方法和步骤----(文字讲解无代码)_第3张图片
**主从模式:**相当于redis有两个节点:主节点和从节点,主要是向主节点进行操作,如果主节点挂掉了,从节点顶上,从节点主要是提供一个数据备份的功能。

**哨兵模式:**对主、从节点进行监视,当主节点出问题的时候,可以再从众多节点里面再找一个主节点出来。

★ 从StatefulConnection 到 RedisXxxCommands对象

调用 StatefulRedisXxxConnection连接对象 的以下三个方法来创建 RedisXxxCommands对象

sync(): 创建同步模式的RedisCommands对象。
async(): 创建异步模式的RedisAsyncCommands对象。
reactive(): 创建反应式模式的RedisReactiveCommands对象。

RedisCommands的作用类似于redis-cli.exe工具,用于执行各种Redis命令。
其中RedisAsyncCommands是异步版本,而RedisReactiveCommands则是反应式版本

你可能感兴趣的:(springboot,redis,lettuce)