当前位置: 首页 > news >正文

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);}}}

http://www.lryc.cn/news/507875.html

相关文章:

  • 【人工智能】用Python实现情感分析:从简单词典到深度学习方法的演进
  • 关系型数据库的完整性和一致性
  • 设计模式の命令访问者迭代器模式
  • 信息系统项目管理 -冲突管理
  • Gmsh有限元网格剖分(Python)---点、直线、平面的移动
  • 山景BP1048增加AT指令,实现单片机串口控制播放音乐(一)
  • SMMU软件指南SMMU编程之全局错误和最小配置
  • CPU条件下Pytorch、jupyter环境配置
  • 【自用】通信内网部署rzgxxt项目_01,后端pipeDemo部署(使用nssm.exe仿照nohup)
  • Ubuntu 安装实时内核指南
  • MySQL 主从复制与高可用
  • RCE总结
  • 基于UNITY3D的照片墙演示项目技术分享
  • 随手记:小程序兼容后台的wangEditor富文本配置链接
  • maven项目运行时NoSuchMethodError问题排查记录(依赖冲突解决)
  • ECharts关系图-关系图11,附视频讲解与代码下载
  • 【C语言】动态内存管理:详解malloc和free函数
  • EGO Swarm翻译
  • Linux根目录
  • SAP-SD-参照退货订单补货时带不出行项目
  • 12-C语言单向链表
  • 2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发二十一.2,RTP协议-RTP协议概述,协议详情
  • Linux系统编程——系统内核中的信号
  • delve调试环境搭建—golang
  • shell脚本的循环-----while和for循环
  • 【游戏设计原理】21 - 解谜游戏的设计
  • 【漏洞复现】Wordpress GutenKit 插件 远程文件写入致RCE漏洞复现(CVE-2024-9234)
  • 深度学习任务简介:分类、回归和生成
  • 【测试】Unittest