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

news2024/11/24 22:55:38

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

在这里插入图片描述

★ Lettuce的核心API

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

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

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

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

★ 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
用梯子的话能更好的访问官网,但是此刻的官网进不去了,在维护
在这里插入图片描述

★ 从RedisClient 到 StatefulConnection 连接对象

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

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

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

StatefulConnection提供如下常用子接口:

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

在这里插入图片描述
**主从模式:**相当于redis有两个节点:主节点和从节点,主要是向主节点进行操作,如果主节点挂掉了,从节点顶上,从节点主要是提供一个数据备份的功能。

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

★ 从StatefulConnection 到 RedisXxxCommands对象

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1057018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

家用无线路由器如何用网线桥接解决有些房间无线信号覆盖不好的问题(低成本)

环境 光猫ZXHN F6600U 水星MW325R 无线百兆路由器 100M宽带&#xff0c;2.4G无线网络 苹果手机 安卓平板电脑 三室一厅94平 问题描述 家用无线路由器如何用网线桥接解决有些房间无线信号不好问题低成本解决&#xff0c;无线覆盖和漫游 主路由器用的运营商的光猫自带无…

cf 解题报告 01

E. Power of Points Problem - 1857E - Codeforces 题意&#xff1a; 给你 n n n 个点&#xff0c;其整数坐标为 x 1 , … x n x_1,\dots x_n x1​,…xn​&#xff0c;它们位于一条数线上。 对于某个整数 s s s&#xff0c;我们构建线段[ s , x 1 s,x_1 s,x1​], [ s , x…

【Java】super 关键字用法

目录 this与super区别 1.访问成员变量-示例代码 继承中构造方法的访问特点 2.访问构造方法-示例代码&#xff1a; 继承中成员方法访问特点 3.访问成员方法-示例代码&#xff1a; super 关键字的用法和 this 关键字相似 this : 代表本类对象的引用super : 代表父类存储空间…

VBA技术资料MF64:遍历单元格搜索字符并高亮显示

【分享成果&#xff0c;随喜正能量】不要在乎他人的评论&#xff0c;不必理论与他人有关的是非&#xff0c;你只要做好自己就够了。苔花如米小&#xff0c;也学牡丹开。无论什么时候&#xff0c;都要有忠于自己的勇气&#xff0c;去做喜欢的事&#xff0c;去认识喜欢的人&#…

JUC中的设计模式

文章目录 1. 终止模式之两阶段终止模式 1. 终止模式之两阶段终止模式 需求&#xff1a;用一个线程每两秒检测***状态&#xff0c;当不想检测时&#xff0c;用另一个线程将其停止 在一个线程 T1 中如何“优雅”终止线程 T2&#xff1f;这里的【优雅】指的是给 T2 一个料理后事…

JVM相关概念

JVM&#xff0c;全程Java Virtual Machine&#xff0c;是java虚拟机的意思&#xff01; 是一个类似计算机的存在&#xff0c;是在计算机上模拟真实计算机运行的平台&#xff0c;它代替Java代码和各种计算机设备之间的交互&#xff01; Java程序把代码翻译成字节码交给虚拟机&a…

借助Log360实现综合可见性的增强网络安全

当今的企业对技术的依赖程度前所未有&#xff0c;因此强大的威胁检测和响应策略变得至关重要。在现代世界中&#xff0c;网络犯罪分子不断寻找新的、富有创意的方式&#xff0c;以侵入组织的网络并窃取敏感数据。综合性的可见性是一个关键要素&#xff0c;有时被忽视&#xff0…

23-properties文件和xml文件以及dom4j的基本使用操作

特殊文件 我们利用这些特殊文件来存放我们 java 中的数据信息&#xff0c;当数据量比较大的时候&#xff0c;我们可以利用这个文件对数据进行快速的赋值 对于多个用户数据的存储的时候我们要用这个XML来进行存储 关于这些特殊文件&#xff0c;我们主要学什么 了解他们的特点&…

Linux系统编程基础:进程控制

文章目录 一.子进程的创建操作系统内核视角下的父子进程存在形式验证子进程对父进程数据的写时拷贝 二.进程等待进程非阻塞等待示例: 三.进程替换内核视角下的进程替换过程:综合利用进程控制系统接口实现简单的shell进程 进程控制主要分为三个方面,分别是:子进程的创建,进程等待…

windows修改键位F11变insert(改键盘映射)

这里是通过改变windows的注册表来实现的 1.按住winr打开运行&#xff0c;在运行中输入“regedit”&#xff0c;再点击“确定”按钮。如下图 2.找到注册表的目录 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout 3.在Keyboard Layout右击新建 -> 二进…

18scala笔记

Scala2.12 视频地址 1 入门 1.1 发展历史 … 1.2 Scala 和 Java Scala Java 编写代码使用scalac编译成.class字节码文件scala .class文件 执行代码 1.3 特点 1.4 安装 视频地址 注意配置好环境变量 简单代码 1.5 编译文件 编译scala文件会产生两个.class文件 使用java…

OpenGLES:绘制一个颜色渐变、旋转的3D立方体

一.概述 之前关于OpenGLES实战开发的博文&#xff0c;不论是实现相机滤镜还是绘制图形&#xff0c;都是在2D纬度 这篇博文开始&#xff0c;将会使用OpenGLES进入3D世界 本篇博文会实现一个颜色渐变、旋转的3D立方体 动态3D图形的绘制&#xff0c;需要具备一些基础的线性代数…

mysql面试题8:MySQL的日志有哪些?MySQL的bin log、redo log、undo log区别和联系

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:MySQL的日志有哪些? MySQL的日志有以下几种,以及查看这些日志的命令和操作步骤如下: 错误日志(Error Log): 查看错误日志的命令:SHOW VARI…

2023.10.01-winxpsp3绿色安装jdk1.8

参考: 如何在XP系统配置java8(jdk8)环境 - 简书 jdk-8u381-windows-i586.exe jdk-8u202-windows-i586.exe 实验了一下,8u381不支持winxp xp3 下载地址: https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.htmlhttps://download.oracle.com/otn/ja…

基于Java的电影院购票系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

Strategy

Strategy 动机 在软件构建过程中&#xff0c;某些对象使用的算法可能多种多样&#xff0c;经常改变&#xff0c;如果将这些算法都编码到对象中&#xff0c;将会使对象变得异常复杂&#xff1b; 而且有时候支持不使用的算法也是一个性能负担。如何在运行时根据需要透明地更改对…

buuctf-[WUSTCTF2020]颜值成绩查询

打开环境&#xff0c;随便输个1看看 输个2 发现功能就是输入一个学号&#xff0c;然后返回对应的成绩&#xff0c;就是一个简单的查询操作。 当输入的学号不存在时&#xff0c;只会返回“student number not exists.”。 猜测是盲注题&#xff0c;因为看不见其他的回显信息&a…

计算机毕业设计 基于SSM的民宿推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

【iptables 实战】05 iptables设置网络转发实验

一、网络架构 实验效果&#xff0c;通过机器B的转发功能&#xff0c;将机器A的报文转发到机器C 本实验准备三台机器分别配置如下网络 机器A ip:192.168.56.104 机器C ip:10.1.0.10 机器B 两张网卡&#xff0c;分别的ip是192.168.56.106和10.1.0.11 如图所示 如下图所示 二、…

软件安全需求分析

一、实验目的 熟悉软件安全需求分析方法&#xff0c;掌握软件安全分析技术。 二、实验软硬件要求 1、操作系统&#xff1a;windows 7/8/10等 三、实验预习 《软件安全技术》教材第6章 四、实验内容&#xff08;实验步骤、测试数据等&#xff09; 1. 目标&#xff1a;完成一…