赞
踩
在使用jedis的过程中,由于我不是使用本地的redis作为连接库,我是使用本人远程的服务器上的redis作为存储库,在使用的过程中遇到了一些小问题。比如说连接不上远程的服务器上的redis
解决办法:
* 1:在本机上使用telnet命令看看是否是远程服务器的防火墙禁止6379端口被访问
telnet IP port
如果是被防火墙给禁止了,需要去配置防火墙配置文件,将这两个端口打开
iptables -A INPUT -p tcp --dport 6379 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 6379 -j ACCEPT
iptables -L -n
如下所示:
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6379
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:6379
3最后别忘记了保存 对防火墙的设置
通过命令:service iptables save 进行保存
4重启iptables
service iptables restart
5然后打开你的redis的redis.conf文件,把bind 127.0.0.1
这行代码注释了
但是这时候还是不行的,因为redis默认的配置文件配置redis目前处于受保护的模式,我们只需要给他设置密码就行了
打开服务器的redis-cli客户端
输入set requirepass yourpwd
再输入quit
再次打开redis-cli客户端
试着ping一下你的redis这时候你发现已经ping不通了,因为我们给他设置了密码,
输入auth yourpwd
ok搞定
public class RedisConnect {
static String constr = "your ip" ;
public static Jedis getRedis(){
Jedis jedis = new Jedis(constr) ;
jedis.auth("yourpwd");
return jedis ;
}
public static void main(String[] args){
Jedis j = RedisConnect. getRedis() ;
String output ;
j.set( "hello", "world" ) ;
output = j.get( "hello") ;
System. out.println(output) ;
}
}
上述代码片段运行成功,说明你的配置成功了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。