Linux下Redis允许远程连接的实现方法
程序员文章站
2023-11-20 10:02:34
linux安装好redis之后,使用java进行连接,java代码如下
package com.wzj.demo.test;
import redis.c...
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命令
设置之后,重启测试,发现java代码可以正常连接了。
以上这篇linux下redis允许远程连接的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。