【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 所对应value
        String value = jedis.get("key");
        System.out.println("value:" + value);
    }
}

效果展示:

在这里插入图片描述

⭕总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装软件缺少dll文件怎么办,分享多种解决dll问题的方法

在计算机使用过程中&#xff0c;我们经常会遇到安装软件时提示缺少dll文件的问题。这种情况通常会导致软件无法正常运行或启动。为了解决这个问题&#xff0c;我总结了以下五种方法&#xff0c;希望对大家有所帮助。 一&#xff0c;了解DLL文件是什么 动态链接库&#xff08;D…

AI 学习神器!大学生必备的 22个 AI 提示词模板

AI 学习神器&#xff01;大学生必备的 22个 AI 提示词模板 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘…

车载电子电器架构 —— 智能座舱技术范围(万字长文精讲)

车载电子电器架构 —— 智能座舱技术范围 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明…

DASK==python并行计算

文档10 Minutes to Dask — Dask documentation demo代码 import numpy as np import pandas as pd import dask.dataframe as dd import dask# 设置调度器为多线程 dask.config.set(schedulerthreads) # 创建一个示例的Pandas DataFrame index pd.date_range("2021-09…

云技术最全详解

目录 云技术 1.定义 2.特点 2.类型 2.1IaaS&#xff08;基础设置即服务&#xff09; 2.2PaaS&#xff08;平台即服务&#xff09; 2.3SaaS&#xff08;软件即服务&#xff09; 3.云技术模型 3.1公有云 3.2私有云 3.3混合云 云技术 1.定义 云技术是一种云计算和存储…

最新版ERP进销存网络多仓版WEB源码

安装说明 环境要求&#xff1a; PHP5.6MYSQL5.6 1.恢复数据库.sql数据 2.配置sql参数连接路径&#xff1a;application\config\database.php 3.前台登录用户名&#xff1a;admin 密码&#xff1a;admin 源码免费下载地址抄笔记 (chaobiji.cn)

一键AI抠图,证件照换背景,可部署成自己的应用

1 开发背景 AI抠图技术已经非常成熟&#xff0c;并且有效果非常好的开源模型。 日常中可以用于替换证件照背景 但是网上许多的证件照替换背景 竟然需要收费 鉴于此&#xff0c;便将目前最好的&#xff08;SOTA&#xff09;开源抠图模型 BRIA Background Removal v1.4 Model …

【AIGC-数字人】V-Express:渐进式训练的数字人视频生成技术

介绍 在人像视频生成领域&#xff0c;使用单张图像生成人像视频已经变得越来越普遍。一种常见的方法涉及利用生成模型来增强适配器以实现受控生成。然而&#xff0c;控制信号的强度可能会有所不同&#xff0c;包括文本、音频、图像参考、姿态、深度图等。其中&#xff0c;较弱的…

奇偶校验位

描述 题目描述&#xff1a; 现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果&#xff08;1输出奇校验&#xff0c;0输出偶校验&#xff09; 信号示意图&#xff1a; 波形示意图&#xff1a; 输入描述&#xff1a; 输入信号 bus sel 类型 wi…

gitlab之cicd的gitlab-runner集成-dockerfile构建环境

目录 概述离线资源docker-compose问题 docker-compose问题1问题2 gitlab-runner集成gitlab 概述 cicd引文目录是想通过dockerfile构建 maven、jdk、docker环境的 gitlab-runner 运行环境。但docker最后测试的时候有点问题&#xff0c;且最后使用 kubectl 时有麻烦&#xff0c;所…

牛客网刷题 | BC103 金字塔图案

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 KiKi学习了循环&am…

共计3万字!从零开始创建一个小规模的稳定扩散模型!

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

知识运维概述

文章目录 知识运维研究现状技术发展趋势 知识运维 由于构建全量的行业知识图谱成本很高&#xff0c;在真实的场景落地过程中&#xff0c;一般遵循小步快走、快速迭代的原则进行知识图谱的构建和逐步演化。知识运维是指在知识图谱初次构建完成之后&#xff0c;根据用户的使用反馈…

“手撕”链表的九道OJ习题

目录 1. 第一题 2. 第二题 3. 第三题 4. 第四题 5. 第五题 6. 第六题 7. 第七题 8. 第八题 9. 第九题 1. 第一题 删除链表中等于给定值 val 的所有节点。OJ链接 思路如下&#xff1a; 相当于链表的removeAll();制定prev和cur&#xff0c;prev记录前一个节点&#xff…

2024最新VMware Workstation Pro下载教程

自从2024年5月份之后&#xff0c;VMware workstation player就不能直接在vm官网下载,需要到broadcom博通网站上下载 下面介绍最新下载步骤&#xff1a; 百度直接搜索vmware 进入官网点击Workstation Pro链接 博通注册对应的账号 现在下载都需到博通注册对应的账号 登录邮…

网络原理-TCP/IP --应用层

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 今天你敲代码了吗 目录 3.网络原理 -TCP/IP3.1 应用层 3.网络原理 -TCP/IP 3.1 应用层 应用层是程序员打交道最多的一层,与应用程序直接相关 而应用层的协议,实际上就规定了你写的程序,通过网络传输的时候,按…

使用 Scapy 库编写 IP 地址欺骗攻击脚本

一、介绍 1.1 概述 IP地址欺骗&#xff08;IP Spoofing&#xff09;是一种网络攻击技术&#xff0c;攻击者伪造其数据包的源IP地址&#xff0c;使其看起来像是从其他合法地址发送的。这种技术常用于各种攻击中&#xff0c;例如DDoS攻击、Man-in-the-Middle&#xff08;MITM&a…

271 基于matlab的可调Q因子小波变换故障诊断

基于matlab的可调Q因子小波变换故障诊断&#xff0c;可用在轴承、齿轮、活塞等故障诊断中&#xff0c;程序中包含了原始TQWT工具箱和轴承振动信号信号的谱包络的求取。通过仿真数据、实际轴承数据说明了方法的效果。程序已调通&#xff0c;可直接运行。 271 可调Q因子小波变换 …

算法第三天力扣第69题:X的平方根

69. x 的平方根 (可点击下面链接或复制网址进行做题) https://leetcode.cn/problems/sqrtx/https://leetcode.cn/problems/sqrtx/ 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内…

Gavin Wood 访谈|Polkadot 从何而来,又将如何面对 AI 时代?

如果没有宏观经济&#xff0c;加密世界可能无法存在。或许&#xff0c;Satoshi Nakamoto 也永远不会写出那篇开创性的白皮书。区块链技术作为指数时代的核心之一&#xff0c;在宏观经济理论中占有重要地位。传统的经济增长公式是人口增长加生产率增长加债务增长。然而&#xff…