java引入jedis并且关于开放redis端口问题

博主主页: 码农派大星.
数据结构专栏:Java数据结构
数据库专栏:数据库
JavaEE专栏:JavaEE
软件测试专栏:软件测试
关注博主带你了解更多知识

目录
1. 引入jedis
编辑 2. 关于java客户端开放redis端口问题
3. 连接redis服务器
redis服务器在官网公开了使用的协议: resp,任何一个第三方都可以通过上述协议,来实现一个和redis服务器通信的客户端程序,在java生态中,封装了resp协议,实现的redis客户端有很多,我使用的是jedis,jedis可以通过maven下载安装到我们的项目中
1. 引入jedis
我们在maven中央仓库中直接搜索jedis就可以找到了

选择一个版本,复制配置到我们的maven项目中

2. 关于java客户端开放redis端口问题
java开发程序,高度依赖Windows(idea)

我们Windows客户端想要访问redis服务器,就需要通过云服务器的外网IP来访问linux服务器,我们会想到修改外网IP,但是这是不够,redis的6379端口,默认是被云服务器的防火墙保护起来的,不能被外面访问,但是我们也访问不了,就可以在云服务器后台把防火墙6379端口放开,这样是不可以的,因为redis端口一旦公开在公网上,很容易被黑客攻击入侵
虽然tomcat端口也放开了,但是tomcat的端口是不容易被入侵的,但是redis的6379端口就很容易被入侵
所以我们想不开放redis端口,又想通过外网访问,我们就可以:
1. 把java程序放在linux上运行,把代码打成jar包,把jar包放到linux服务器上执行,手续比较繁琐
2. 配置ssh端口转发,把云服务器的redis端口,映射到本地主机

就是通过window主机访问云服务器的6379端口,于是就构造一个特殊的数据报,就是把要访问的redis请求,放到ssh数据报中,这个数据报就会通过22端口发生给服务器,服务器的ssh服务器程序,就能够解析出上述数据报,然后把数据报交给6379端口的程序
一个linux主机会存在的服务器有很多,ssh也可能需要来给多个端口传递数据,这时,为了区分不同端口,就会把服务器的端口在本地用另一个端口来表示
接下来教大家如何在云服务器上映射redis端口:


3. 连接redis服务器
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;public class redisdemo {public static void main(String[] args) {//连接redis服务器JedisPool jedisPool = new JedisPool("tcp://127.0.0.1:8888");try (Jedis jedis = jedisPool.getResource()){//redis的各种命令,就能对应到jedis对象的各种方法String pong = jedis.ping();System.out.println(pong);}}}
相关文章:
java引入jedis并且关于开放redis端口问题
博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 目录 1. 引入jedis 编辑 2. 关于java客户端开放redis端口问题 3. 连接redis服务器 redis服务器在官网公开了使用的协议: resp…...
【人工智能】用Python实现情感分析:从简单词典到深度学习方法的演进
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 情感分析是自然语言处理(NLP)中的一个重要任务,其目的是通过分析文本内容,识别出其中的情感极性,如正面、负面或中性。随着技术的不断…...
关系型数据库的完整性和一致性
完整性 1.实体完整性 - 每一个实体都是独一无二的,没有冗余 --主键/唯一索引 2.参照完整性 - 外键 3.域完整性 - 存储的数据都是有效的数据 --数据类型/数据长度/非空约束/检查约束/ 检查约束: alter table tb_score add constraint ck_score_scmar…...
设计模式の命令访问者迭代器模式
文章目录 前言一、命令模式二、访问者模式三、迭代器模式 前言 本篇是关于设计模式中命令模式、访问者模式、以及迭代器模式的学习笔记。 一、命令模式 命令模式是一种行为型设计模式,其核心目的在于将命令的发送者和接受者解耦,提供一个中间层对命令进行…...
信息系统项目管理 -冲突管理
信息系统项目管理题 冲突管理: 项目管理信息系统包括()软件,用于监督资源的使用情况,协助确保合适的资源适时、适地的用于合适活动。 A资源管理或进度计划 BCRM系统 C采购系统或智能分析 DBOM系统 答案:A …...
Gmsh有限元网格剖分(Python)---点、直线、平面的移动
Gmsh有限元网格剖分(Python)—点、直线、平面的移动和旋转 最近在学习有限元的网格剖分算法,主要还是要参考老外的开源Gmsh库进行,写一些博客记录下学习过程,方便以后回忆嘞。 Gmsh的官方英文文档可以参考:gmsh.pdf 但咋就说&a…...
山景BP1048增加AT指令,实现单片机串口控制播放音乐(一)
1、设计目的 山景提供的SDK是蓝牙音箱demo,用户使用ADC按键或者IR遥控器,进行人机交互。然而现实很多场景,需要和单片机通信,不管是ADC按键或者IR接口都不适合和单片机通信。这里设计个AT指令用来和BP1048通信。AT指令如下图所示…...
SMMU软件指南SMMU编程之全局错误和最小配置
安全之安全(security)博客目录导读 目录 一、全局错误 二、最小配置 一、全局错误 与编程接口相关的全局错误会报告到适当的 SMMU_(*_)GERROR 寄存器,而不是通过基于内存的事件队列。这些错误通常是严重的,例如导致 SMMU 停止向前推进。例如…...
CPU条件下Pytorch、jupyter环境配置
一、创建虚拟环境 查看虚拟环境 conda env list 创建python虚拟环境 conda create -n minist python3.11 激活虚拟环境 conda activate minist 查看虚拟环境下有哪些包 pip list 二、安装pytorch 切换清华源 conda config --add channels https://mirrors.tuna.tsing…...
【自用】通信内网部署rzgxxt项目_01,后端pipeDemo部署(使用nssm.exe仿照nohup)
做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521 做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521 做完这些工作之后,不要…...
Ubuntu 安装实时内核指南
在运行需要高精度和低延迟响应的机器人驱动程序时,安装一个具备实时内核(Real-Time Kernel)的 Ubuntu 系统是至关重要的。若缺乏实时系统的支持,高频率的控制指令可能会导致机器人运动轨迹不流畅,甚至产生抖动现象。以…...
MySQL 主从复制与高可用
在现代分布式系统中,数据库的高可用性和可靠性至关重要。MySQL 提供了主从复制(Master-Slave Replication)机制来实现数据的冗余和容错,保证在主数据库发生故障时能够继续提供服务。而在此基础上,通过进一步的高可用架…...
RCE总结
文章目录 常见漏洞执行函数:1.系统命令执行函数2.代码执行函数 命令拼接符读取文件命令绕过:空格过滤绕过关键字绕过长度过滤绕过无参数命令执行绕过无字母数字绕过利用%0A截断利用回溯绕过利用create_function()代码注入无回显RCE1.反弹shell2.dnslog外…...
基于UNITY3D的照片墙演示项目技术分享
unity实现超大图片墙演示,由于拥有海量图片,使用了CPU 多线程,unity dots技术,图片组成文字部分,使用了点阵图技术,提取文字像素。 (关于点阵介绍) 点阵字体是把每一个字符都分成1616或2424个点…...
随手记:小程序兼容后台的wangEditor富文本配置链接
场景: 在后台配置wangEditor富文本,可以文字配置链接,图片配置链接,产生的json格式为: 例子: <h1><a href"https://uniapp.dcloud.net.cn/" target"_blank"><span sty…...
maven项目运行时NoSuchMethodError问题排查记录(依赖冲突解决)
控制台异常如下: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.apache.commons.io.input.BoundedInputStream.builder()Lorg/apache/commons/io/input/BoundedInputStream$Builder;问题明显,根据NoSuchMethodError…...
ECharts关系图-关系图11,附视频讲解与代码下载
引言: 关系图(或称网络图、关系网络图)在数据可视化中扮演着至关重要的角色。它们通过节点(代表实体,如人、物体、概念等)和边(代表实体之间的关系或连接)的形式,直观地…...
【C语言】动态内存管理:详解malloc和free函数
前言 在C语言编程中,动态内存分配是一个非常重要的概念。与静态内存分配不同,动态内存分配允许程序在运行时根据需要分配和释放内存,从而更加灵活地管理内存资源。特别是在一些数据结构的引用中经常需要使用,下面我们就详细讲解一…...
EGO Swarm翻译
目录 摘要 Ⅰ 介绍 Ⅱ 相关工作 A . 单四旋翼局部规划 B . 拓扑规划 C. 分布式无人机集群 Ⅲ 基于梯度的局部规划隐式拓扑轨迹生成 A.无需ESDF梯度的局部路径规划 B.隐式拓扑轨迹生成 Ⅳ 无人机集群导航 A 机间避碰 B. 定位漂移补偿 C. 从深度图像中去除agent Ⅴ …...
Linux根目录
在Linux系统中,文件系统遵循一种标准化的目录结构,即文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)。 根目录(/) /bin:包含二进制可执行文件,通常是用户和系…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
