• Redis——Java客户端配置


    概要

    由于Redis服务器在官网公开了RESP协议,因此第三方可以通过这个协议来实现和Redis服务器通信的客户端程序,而具体的通信逻辑也不需要我们去实现,只需要导入大佬的库即可

    jedis就是封装了RESP协议,提供了一组api供我们使用

    导入依赖

    创建一个maven项目,然后导入下面这个jedis依赖

    
    <dependency>
        <groupId>redis.clientsgroupId>
        <artifactId>jedisartifactId>
        <version>4.4.2version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    映射端口

    由于我们需要通过自己电脑的redis客户端,访问服务器的redis服务器,因此需要访问服务器的端口。

    而redis的默认端口6379,默认情况下是被云服务器的防火墙保护起来的,外界无法进行访问。这个端口比tomcat的8080端口好入侵的多,我个人之前开启后就被黑客入侵了。。。只能给云服务器重装系统

    因此想要解决这个问题,可以直接将Java程序打包成jar包放到云服务器上运行,但是这个过程十分繁琐,如果要修改程序还需要重新打包上传,因此个人推荐下面这个方法

    使用ssh进行端口的映射,将服务器的6379端口映射到自己电脑的8888端口,ssh会进行端口的转发,将我们请求的数据包装成应用层数据报,通过22端口发送给服务器,服务器的ssh解析数据报后,就会交给6379端口数据

    在这里插入图片描述
    以上的端口转发只有ssh连接上才会生效,ssh断开后端口转发就会消失,这极大的保护了我们的服务器不被入侵

    编写代码

    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");
    
            //从Redis连接池取出连接
            try(Jedis jedis = jedisPool.getResource()){
                String pong = jedis.ping();
                System.out.println(pong);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在控制台看到如下信息,说明连接成功
    在这里插入图片描述
    上述的ip和端口号仅限于开发时这样写,如果项目部署到云服务器上则需要更改为对应的ip和6379端口

    如果失败,需要去redis中配置

    进入配置文件

     cd /etc/redis/
    vim redis.conf
    
    • 1
    • 2

    绑定的ip改为0.0.0.0
    在这里插入图片描述
    关闭保护模式
    在这里插入图片描述

  • 相关阅读:
    sql建库,建表基础操作
    JavaWeb-02:XML的学习
    这个Python代码为什么会出现报错呢?正确应该怎么写呢
    Flask使用Nacos作为服务的配置中心
    CopyOnWriteArrayList
    k8s HPA(HorizontalPodAutoscaler)--自动水平伸缩
    java-net-php-python-jsp网络工程师在线测试系统计算机毕业设计程序
    Python数据可视化和处理常用库(如Matplotlib、Seaborn)
    npm install 的原理
    无胁科技-TVD每日漏洞情报-2022-10-25
  • 原文地址:https://blog.csdn.net/m0_60867520/article/details/132858819