【Redis】 使用Java操作Redis的客户端

文章目录

  • 🍃前言
  • 🌴项目的创建
  • 🎋引入依赖
  • 🌳配置端⼝转发
  • 🌲更改 Redis 配置文件
  • 🎄连接 Redis Server
  • ⭕总结

🍃前言

我们使用 Java 操作 Redis 客户端时我们需要进行以下操作。

注意:Java 操作Redis 客户端有很多种,博主这里介绍一种最通用,最简单的

  1. 引入依赖

  2. 配置端口转发

  3. 更改 Redis 配置文件

  4. 连接 Redis

🌴项目的创建

这里我们创建一个Maven 项目,方便后续引入依赖

在这里插入图片描述

🎋引入依赖

Java操作 redis 的客⼾端有很多. 其中最知名的是 jedis

使用jedis 时,只需要把 jedis 的依赖拷⻉到刚刚创建的 pom.xml中即可

依赖如下:

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.4.4</version>
</dependency>

注意:

  • 不一定非要使用博主这一版,大家大可以去官网寻找自己想要的版本即可,一般来说最新版即可

官网地址如下:

  • https://mvnrepository.com/artifact/redis.clients/jedis

导入时,该依赖需要包裹在<dependencies> </dependencies> 标签内

在这里插入图片描述

导入后,记得重新下载一下

在这里插入图片描述

如果遇到 Maven 下载失败,可以参考博主之前写的 【JavaEE进阶】 Maven jar 包下载失败问题的解决方法

🌳配置端⼝转发

edis 服务器安装在云服务器上, ⽽我们编写的代码则是在本地主机.

要想让本地主机能访问 redis, 需要把 redis 的端⼝(默认:6379)通过云服务器后台⻚⾯的 “防⽕墙” / "安全组"放开端⼝到公⽹上.

但是这个操作⾮常危险(⿊客会顺着redis 端⼝进来)。因此我们可以使⽤端⼝转发的⽅式, 直接把服务器的 redis 端⼝映射到本

博主使用的时 xshell 操作 linux 服务器,如果这部分还不会的小伙伴可以参考博主写的 【JavaEE进阶】使用云服务器实现Linux环境搭建

在 xshell 中, 进⾏如下配置:

  1. 右键云服务器的会话, 选择属性.
  2. 找到隧道 -> 配置转移规则

在这里插入图片描述
在这里插入图片描述

此处需要注意的是:

  • 如果你之前已经连接上服务器,然后再进行配置,这时你需要重新断开进行连接

此时访问本地的 8888,就相当于访问对应服务器的 6379

这里我们也可以通过本地 cmd 输入以下命令查看我们所配置端口是否被使用来判断配置是否成功

在这里插入图片描述

🌲更改 Redis 配置文件

我们想要通过该端口正确访问 Redis 时,我们还需要对 Redis 配置文件进行如下配置

首先我们使用vim命令进入,打开相应的配置文件,命令如下

vim /etc/redis/redis.conf

然后点击 i 进入插入模式进行修改,需要修改的点如下:

  • 修改 bind 127.0.0.1 为 bind 0.0.0.0
  • 修改 protected-mode yes 为 protected-mode no

在这里插入图片描述

最后按 Esc 键,并输入 :wq,按下enter键返回即可

🎄连接 Redis Server

  1. 使⽤ JedisPool 描述 Redis 服务器的位置, 使⽤ url 来表⽰.

  2. 使⽤ getResource 和服务器建⽴连接.

  3. 连接使⽤完毕需要 close 关闭,也可以直接使⽤ try ⾃动关闭

  4. 通过 ping ⽅法可以检测连接是否正确建⽴

实验代码如下:

JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");
try (Jedis jedis = jedisPool.getResource()) {String ping = jedis.ping();System.out.println(ping);
}

注意:

  • 此处的端口号对应的时你刚刚配置端口转发时所配置的本地端口号
  • 确保你的 xshell 连接上你的服务器

如果你得到如下结果,恭喜你,你已经成功连接

在这里插入图片描述

我们来看一下简单的 get/set 命令的实现,代码实现如下:

public class RedisMain {public static void main(String[] args) {JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");try (Jedis jedis = jedisPool.getResource()) {getAndSet(jedis);}}public static void getAndSet(Jedis jedis) {System.out.println("测试get和set");// 先刷新 Redis 库jedis.flushAll();// 添加key = "key",value = "value"jedis.set("key","value");// 获取当前 key 所对应valueString value = jedis.get("key");System.out.println("value:" + value);}
}

效果展示:

在这里插入图片描述

⭕总结

关于《【Redis】 使用Java操作Redis的客户端》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下

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

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

相关文章

Linux上部署和安装MinIO

&#x1f341; 作者&#xff1a;知识浅谈&#xff0c;CSDN签约讲师&#xff0c;CSDN博客专家&#xff0c;华为云云享专家&#xff0c;阿里云专家博主 &#x1f4cc; 擅长领域&#xff1a;全栈工程师、爬虫、ACM算法&#xff0c;大数据&#xff0c;深度学习 &#x1f492; 公众号…

2024年6月1日 (周六) 叶子游戏新闻

Embracer探讨单机游戏大作涨价超过70美元的可能性在Embracer集团等待公布新公司名称的同时&#xff0c;他们对游戏大作的价格上涨做出了评论。几年来&#xff0c;游戏大作的价格已经达到了70美元的门槛。Embracer集团的CEO Lars Wingefors在采访中表示&#xff0c;电子游戏行业…

vulnhub靶场之FunBox-10

一.环境搭建 1.靶场描述 As always, its a very easy box for beginners. This works better on VitualBox rather than VMware 2.靶场下载 Funbox: Under Construction! ~ VulnHub 3.靶场启动 靶场IP地址我们不知道&#xff0c;但是网段我们知道是192.168.2.0/24 二.信息…

stack学习

std::stack 类是一种容器适配器&#xff0c;它给予程序员栈的功能——特别是 FILO&#xff08;先进后出&#xff09;数据结构。该类模板用处为底层容器的包装器——只提供特定函数集合。栈从被称作栈顶的容器尾部推弹元素。 operator 赋值给容器适配器 (公开成员函数) 元素访问…

Base64码转换

title: Base64码转换 date: 2024-06-01 20:30:28 tags: vue3 后端图片前端显示乱码 现象 后端传来一个图片&#xff0c;前端能够接收&#xff0c;但是console.log()后发现图片变成了乱码&#xff0c;但是检查后台又发现能够正常的收到了这张图片。 处理方法 笔者有尝试将图…

Java关键字详解

文章目录 什么是关键字&#xff1f;数据类型&#xff08;10个&#xff09;byte、char、boolean、short、int、float、long、double、void、enum 流程控制&#xff08;12个&#xff09;if、else、do、while、for 、switch、case、assertbreak&#xff08;跳出循环&#xff09;co…

STM32(八):独立看门狗 (标准库函数)

前言 上一篇文章介绍了STM32单片机中的USART串口通信&#xff0c;这篇文章我们来介绍一下如何用STM32单片机中的独立看门狗来实现检测按键点灯的程序。 一、实验原理 单片机系统会由于受到外界的干扰&#xff0c;而造成程序执行紊乱&#xff0c;系统无法正常运行。为了防止这…

STL:stack和queue

文章目录 stack的介绍和使用stack的介绍stack的使用stack的模拟实现 queue的介绍和使用queue的介绍queue的使用queue的模拟实现 priority_queue的介绍和使用priority_queue的介绍priority_queue的使用优先级队列的模拟实现 deque的介绍deque的结构deque的缺陷为什么选择deque作…

Django ORM魔法:用Python代码召唤数据库之灵!

探索Django ORM的神奇世界&#xff0c;学习如何用Python代码代替复杂的SQL语句&#xff0c;召唤数据库之灵&#xff0c;让数据管理变得轻松又有趣。从基础概念到高级技巧&#xff0c;阿佑带你一步步成为Django ORM的魔法师&#xff0c;让你的应用开发速度飞起来&#xff01; 文…

golang线程池ants-四种使用方法

目录 1、ants介绍 2、使用方式汇总 3、各种使用方式详解 3.1 默认池 3.2 普通模式 3.3 带参函数 3.4 多池多协程 4、总结 1、ants介绍 众所周知&#xff0c;goroutine相比于线程来说&#xff0c;更加轻量、资源占用更少、无线程上下文切换等优势&#xff0c;但是也不能…

前端Vue小兔鲜儿电商项目实战Day06

一、本地购物车 - 列表购物车 1. 基础内容渲染 ①准备模板 - src/views/cartList/index.vue <script setup> const cartList [] </script><template><div class"xtx-cart-page"><div class"container m-top-20"><div…

vs2019 无法打开QT的UI文件

/* * --------------------------- Microsoft Visual StudioQt5.15.2\5.15.2\msvc2019_64 --------------------------- D:\QT_Project_vs\QtWidgetsApplication1\QtWidgetsApplication1\QtWidgetsApplication1.ui 无法打开文件。 --------------------------- 确定 -------…

基于LQR控制算法的电磁减振控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于LQR控制算法的电磁减振控制系统simulink建模与仿真。仿真输出控制器的收敛曲线。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a;MATLAB2022a 08_029m 4.系统原理…

系统架构设计师【第5章】: 软件工程基础知识 (核心总结)

文章目录 5.1 软件工程5.1.1 软件工程定义5.1.2 软件过程模型5.1.3 敏捷模型5.1.4 统一过程模型&#xff08;RUP&#xff09;5.1.5 软件能力成熟度模型 5.2 需求工程5.2.1 需求获取5.2.2 需求变更5.2.3 需求追踪 5.3 系统分析与设计5.3.1 结构化方法5.3.2 面向对象…

Qt6 mathgl数学函数绘图

1. 程序环境 Qt6.5.1, mingw11.2mathgl 8.0.1: https://sourceforge.net/projects/mathgl/,推荐下载mathgl-8.0.LGPL-mingw.win64.7z,Windows环境尝试自己编译mathgl会缺失一些库,补充完整也可以自己编译,路径"D:\mathgl-8.0.LGPL-mingw.win64\bin"添加至系统环境…

复试不考机试,初试300分以上,上岸稳了?东北林业大学计算机考研考情分析!

东北林业大学&#xff08;Northeast Forestry University&#xff09;&#xff0c;简称东北林大&#xff08;NEFU&#xff09;&#xff0c;位于黑龙江省哈尔滨市&#xff0c;是一所以林科为优势、林业工程为特色的中华人民共和国教育部直属高校&#xff0c;由教育部、国家林业局…

Java多线程--volatile关键字

并发编程的三大特性 可见性有序性原子性 可见性 为什么会有可见性问题&#xff1f; 多核CPU 为了提升CPU效率&#xff0c;设计了L1&#xff0c;L2&#xff0c;L3三级缓存&#xff0c;如图。 如果俩个核几乎同时操作同一块内存&#xff0c;cpu1修改完&#xff0c;当下是对c…

APISIX的安装与测试(springboot服务测试)

安装&#xff1a; 1.1安装依赖&#xff1a; curl https://raw.githubusercontent.com/apache/apisix/master/utils/install-dependencies.sh -sL | bash -1.2 安装 OpenResty yum-config-manager --add-repo https://openresty.org/package/centos/openresty.reposudo yum i…

英语翻译程序,可以对用户自己建立的词汇表进行增删查改

⑴ 自行建立一个包含若干英文单词的词汇表文件&#xff0c;系统初始化时导入内存&#xff0c;用于进行句子翻译。 ⑵ 用户可以输入单词或者句子&#xff0c;在屏幕上显示对应翻译结果。 ⑶ 用户可对词汇表进行添加和删除&#xff0c;并能将更新的词汇表存储到文件中。 #defi…

Adobe Acrobat DC无法卸载

控制版面、电脑管家等均无法卸载&#xff0c;使用自身的remove也不能卸载 解决方法&#xff1a;删除Adobe Acrobat DC的注册表 1、首先打开注册列表&#xff1a; 2、根据圈出来的信息&#xff0c;找到以下路径&#xff1a; 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Inst…