Redis 7.x 系列【3】多种连接方式
有道无术,术尚可求,有术无道,止于术。
本系列Redis 版本 7.2.5
源码地址:https://gitee.com/pearl-organization/study-redis-demo
文章目录
- 1. 概述
- 2. Redis Cli
- 3. 可视化管理工具
- 3.1 Redis Insight
- 3.2 RedisDesktopManager
- 4. 客户端库
- 4.1 Jedis
- 4.2 Lettuce
- 4.3 Redission
1. 概述
官方文档
在上篇文档中已经部署好了 Redis
,接下来学习如何连接到 Redis
。
可以通过以下几种方式进行连接:
Redis Cli
命令行界面- 可视化管理工具
- 编程语言客户端库
2. Redis Cli
官方提供了 redis-cli
工具,通过命令行界面和 Redis
进行交互,在安装目录中可以看到该工具:
操作示例:
[root@localhost bin]# ./redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set mykey "Hello"
OK
127.0.0.1:6379> get mykey
"Hello"
3. 可视化管理工具
3.1 Redis Insight
Redis Insight
是官方提供的一个可视化管理工具,支持连接 Redis
、Redis Stack
,支持 Windows
、Linux
、MacOS
操作系统。
在官方地址进行下载,选择系统、填写用户信息:
下载完成后直接安装即可,在首页选择添加连接:
填写主机IP
、端口、密码后,点击添加:
自动跳转到连接列表:
Browser
浏览页面可以查看到当前所有 Key
以及对应值的详细信息:
Workbench
工作台页面可以执行 Redis
命令:
Analysis Tools
页面可以查看一些监控信息:
Pub/Sub
页面可以订阅频道,向频道发布消息:
3.2 RedisDesktopManager
下载地址
RedisDesktopManager
是一个非官方的可视化管理工具,界面十分简洁,用起来很舒服,推荐一下。
4. 客户端库
Redis
几乎支持所有编程语言进行客户端连接:
Redis
官方提供了以下语言支持:
Python
C#/.NET
Node.js
Java
Go
其中 Java
客户端包含以下两种:
Jedis
Lettuce
4.1 Jedis
官方文档
GitHub地址
Jedis
是一个同步阻塞的 Redis Java
客户端库,其优点是简单易用、成熟稳定。使用同步阻塞的方式与 Redis
进行通信,在高并发场景下,性能不佳。此外Jedis
实例不是线程安全的,需要通过 JedisPool
连接池管理实例。
引入依赖:
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>5.1.2</version></dependency>
连接并执行操作示例:
public class JedisTest {public static void main(String[] args) {// 创建连接池JedisPool pool = new JedisPool("localhost", 6379,"default","123456");// 获取客户端try (Jedis jedis = pool.getResource()) {// 存入一个字符串jedis.set("foo", "bar");System.out.println(jedis.get("foo")); //Prints: bar// 存入一个HashMap<String, String> hash = new HashMap<>();;hash.put("name", "John");hash.put("surname", "Smith");hash.put("company", "Redis");hash.put("age", "29");jedis.hset("user-session:123", hash);System.out.println(jedis.hgetAll("user-session:123")); // Prints: {name=John, surname=Smith, company=Redis, age=29}}}
}
4.2 Lettuce
官方文档
GitHub地址
Lettuce
是一个可扩展的线程安全的 Redis Java
客户端库,可用于同步、异步和响应式,API
较为复杂抽象,所以学习成本较高。底层使用的是 Netty
,使用异步非阻塞的方式与 Redis
进行通信,在高并发场景下,性能更好。此外Lettuce
实例是线程安全的,无需额外处理线程同步问题。
引入依赖:
<dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>6.3.2.RELEASE</version> <!-- Check for the latest version on Maven Central --></dependency>
连接并执行操作示例:
public class LettceTest {public static void main(String[] args) {// 创建客户端RedisClient redisClient = RedisClient.create("redis://localhost:6379");// 获取连接try (StatefulRedisConnection<String, String> connection = redisClient.connect()) {// 执行异步命令RedisAsyncCommands<String, String> asyncCommands = connection.async();// 存入一个字符串asyncCommands.set("foo", "bar").get();System.out.println(asyncCommands.get("foo").get()); // prints bar// 存入一个HashMap<String, String> hash = new HashMap<>();hash.put("name", "John");hash.put("surname", "Smith");hash.put("company", "Redis");hash.put("age", "29");asyncCommands.hset("user-session:123", hash).get();System.out.println(asyncCommands.hgetall("user-session:123").get()); // Prints: {name=John, surname=Smith, company=Redis, age=29}} catch (ExecutionException | InterruptedException e) {throw new RuntimeException(e);} finally {redisClient.shutdown();}}
}
4.3 Redission
官方网站
GitHub地址
Redission
是一个高性能、异步无锁的 Redis Java
客户端库,基于 Netty
进行通信。Redission
提供了一些列的分布式服务工具,例如分布式对象、分布式锁、分布式任务调度、分布式数据数据处理、分布式会话集群等。
引入依赖:
<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.31.0</version></dependency>
连接并执行操作示例:
public class RedissonTest {public static void main(String[] args) {// 创建客户端对象Config config = new Config();config.useSingleServer().setAddress("redis://127.0.0.1:6379");RedissonClient redissonClient = Redisson.create(config);// 存入一个 MapRMap<String, String> rMap = redissonClient.getMap("rMap"); // 创建Map分布式对象rMap.put("name", "John"); // 存入数据rMap.put("surname", "Smith");rMap.put("company", "Redis");// 重新获取RMap<String, String> getMap = redissonClient.getMap("rMap");System.out.println(getMap);}
}
相关文章:

Redis 7.x 系列【3】多种连接方式
有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. Redis Cli3. 可视化管理工具3.1 Redis Insight3.2 RedisDesktopManager 4. …...

数据结构(DS)C语言版:学习笔记(4):线性表
参考教材:数据结构C语言版(严蔚敏,吴伟民编著) 工具:XMind、幕布、公式编译器 正在备考,结合自身空闲时间,不定时更新,会在里面加入一些真题帮助理解数据结构 目录 2.1线性…...
Linux 命令大全
Linux 命令大全 Linux是一个强大的操作系统,它通过命令行界面提供了丰富的功能和灵活性。了解和掌握各种Linux命令对于系统管理员和开发者来说至关重要。本文将为您提供一个全面的Linux命令大全,帮助您更好地理解和使用Linux系统。 基础命令 ls - 列出目录内容。cd - 更改当…...

[华为北向网管NCE开发教程(6)消息订阅
1.作用 之前介绍的都是我们向网管NCE发起请求获取数据,消息订阅则反过来,是网管NCE系统给我们推送信息。其原理和MQ,JMS这些差不多,这里不过多累述。 2.场景 所支持订阅的场景有如下,以告警通知为例,当我…...
2024.6.15 英语六级 经验与复盘
文章目录 英语六级 经验与复盘2024年上半年六级考试(2024 6.8 - 6.15)前情提要:经验:作文:(30min)听力:(25min)SectionC(精细阅读) (30min)SectionB(段落匹配) (15min)SectionA(选词填空) (5min / 舍弃)翻译(20min&…...
计算机专业的未来展望
身份角度一:一名曾经的计算机专业学生 作为一名曾经的计算机专业学生,我认为计算机相关专业仍然是一个值得考虑的选择。随着科技的飞速发展,计算机行业的需求只会越来越高,因此,无论是在就业前景还是个人发展方面&a…...
Shell变量的高级用法
在Shell编程中,变量的使用是至关重要的。初学者可能只使用最基本的变量赋值和调用,但Shell变量实际上有很多高级用法,可以极大地提升脚本的灵活性和效率。本文将介绍几种Shell变量的高级用法,帮助您更好地利用Shell脚本。 1. 参数…...

【Python/Pytorch - 网络模型】-- SVD算法
文章目录 文章目录 00 写在前面01 基于Pytorch版本的SVD算代码02 理论知识 00 写在前面 (1)矩阵的奇异值分解在最优化问题、特征值问题、最小二乘方问题、广义逆矩阵问题及统计学等方面都有重要应用; (2)应用&#…...

全光万兆时代来临:信而泰如何推动F5G-A(50PONFTTR)技术发展
技术背景 F5G-A(Fifth Generation Fixed Network-Advanced,第五代固定网络接入)是固定网络技术的一次重大升级,代表了光纤网络技术的最新发展。F5G-A旨在提供更高的带宽、更低的延迟、更可靠的连接以及更广泛的应用场景。 F5G-A六…...

港科夜闻 | 香港科大与香港科大(广州)合推红鸟跨校园学习计划,共享教学资源,促进港穗学生交流学习...
关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大与香港科大(广州)合推“红鸟跨校园学习计划”,共享教学资源,促进港穗学生交流学习。香港科大与香港科大(广州)6月14日共同宣布推出“红鸟跨校园学习计划”,以进一步加强两校学…...

基于Wireshark实现对FTP的抓包分析
基于Wireshark实现对FTP的抓包分析 前言一、虚拟机Win10环境配置二、FileZilla客户端的安装配置下载FileZilla客户端安装FileZilla 三、FileZilla Server安装下载FileZilla Server安装 四、实现对FTP的抓包前置工作实现抓包完成抓包 前言 推荐一个网站给想要了解或者学习人工智…...

Vue54-浏览器的本地存储webStorage
一、本地存储localStorage的作用 二、本地存储的代码实现 2-1、存储数据 注意: localStorage是window上的函数,所以,可以把window.localStorage直接写成localStorage(直接调用!) 默认调了p.toString()方…...

Linux下Shell脚本基础知识
主要参考视频: 这可能是B站讲的最好的Linux Shell脚本教程,3h打通Linux-shell全套教程,从入门到精通完整版_哔哩哔哩_bilibili 主要参考文档: Shell 教程 | 菜鸟教程 (runoob.com) Bash Shell教程 (yiibai.com) 先用视频入门&…...

爬虫初学篇——看完这些还怕自己入门不了?
初次学习爬虫,知识笔记小分享 学scrapy框架可看:孤寒者博主的【Python爬虫必备—>Scrapy框架快速入门篇——上】 目录🌟 一、🍉基础知识二、🍉http协议:三、🍉解析网页(1) xpath的用…...

[数据集][目标检测]减速区域检测数据集VOC+YOLO格式1654张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1654 标注数量(xml文件个数):1654 标注数量(txt文件个数):1654 标注…...

OpenGL3.3_C++_Windows(8)
材质&&漫反射,光照贴图 使用struct为材质建立结构体,以便方便管理漫反射贴图是物体的颜色值(纹理)(通过 UV 坐标映射到渲染物体的表面),材质是物体的属性(物体对光的交互&a…...

GPU的工作原理
location: Beijing 1. why is GPU CPU的存储单元和计算单元的互通过慢直接促进了GPU的发展 先介绍一个概念:FLOPS(Floating Point Operations Per Second,浮点运算每秒)是一个衡量其执行浮点运算的能力,可以作为计算…...

Linux常⽤服务器构建-samba
目录 1. 介绍 2. 安装 3. 配置 3.1 创建存放共享⽂件的路径 3.2 创建samba账户 4 重启samba 5. 访问共享⽂件 5.1 mac下访问⽅式 5.2 windows下访问⽅式 1. 介绍 Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的⼀个免费软件,能够完成在 windows 、 mac 操作系统…...

【Java】已解决java.lang.UnsupportedOperationException异常
文章目录 问题背景可能出错的原因错误代码示例正确代码示例注意事项 已解决java.lang.UnsupportedOperationException异常 在Java编程中,java.lang.UnsupportedOperationException是一个运行时异常,通常表示尝试执行一个不支持的操作。这种异常经常发生…...

在ubuntu中恢复误删除的文件
1、安装 TestDisk 在 Ubuntu 上,可以使用以下命令安装 TestDisk: sudo apt-get install testdisk2、查询你删除的文件所在那个分区 #查询分区 df -h #我这里是/dev/sda2 #也可以使用下面命令查看具体哪个分区 lsblk3、查询该分区是什么系统类型 sudo …...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...