千家信息网

怎么在Linux中使用Redis允许远程连接

发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,怎么在Linux中使用Redis允许远程连接?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Linux安装好Redis之后,使用Jav
千家信息网最后更新 2025年01月28日怎么在Linux中使用Redis允许远程连接

怎么在Linux中使用Redis允许远程连接?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Linux安装好Redis之后,使用Java进行连接,Java代码如下

package com.wzj.demo.test; import redis.clients.jedis.Jedis; /** * Created by wzj on 2018/3/29. */public class RedisJava{  public static void main(String[] args)  {    //连接本地的 Redis 服务    Jedis jedis = new Jedis("192.168.3.45");    System.out.println("连接成功");     //设置 redis 字符串数据    jedis.set("runoobkey", "www.runoob.com");     // 获取存储的数据并输出    System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));  }}

报如下错误:

Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Connection reset        at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:202)        at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)        at redis.clients.jedis.Protocol.process(Protocol.java:151)        at redis.clients.jedis.Protocol.read(Protocol.java:215)        at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)        at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)        at redis.clients.jedis.Jedis.set(Jedis.java:121)        at com.wzj.demo.test.RedisJava.main(RedisJava.java:17)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)        at java.lang.reflect.Method.invoke(Method.java:498)        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)Caused by: java.net.SocketException: Connection reset        at java.net.SocketInputStream.read(SocketInputStream.java:209)        at java.net.SocketInputStream.read(SocketInputStream.java:141)        at java.net.SocketInputStream.read(SocketInputStream.java:127)        at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:196)        ... 12 more

使用Telnet 192.168.3.45 6379,发现端口是不通的。

通过网上查找分析,原因是:Redis默认只允许本地连接,不允许其他机器连接,需要进行如下修改:

(1)修改redis.conf 文件,把bind 127.0.0.1 ::1这一行注释掉。

(2)修改redis.conf 文件,protected-mode 要设置成no

(3)启动的时候,需要指定redis.conf 文件,执行./src/redis-server redis.conf命令

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

关于怎么在Linux中使用Redis允许远程连接问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0