Jedis连接Redis问题记录

今天在用Jedis连接Redis数据库时,不停的报出以下错误,搜罗网上各种信息,也没解决。

因为我是在本地安装的虚拟机,在虚拟机安装的Redis,以下是我报错的代码:

public class JedisAdapter {
    public static void print(int index,Object obj) {
        System.out.println(String.format("%d,%s", index, obj.toString()));
    }

    public static void main(String[] args) {
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.flushDB();

        jedis.set("a", "b");
    }
}
java.net.ConnectException: Connection refused (Connection refused)
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at redis.clients.jedis.Connection.connect(Connection.java:158)
    ... 4 more
redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused (Connection refused)
    at redis.clients.jedis.Connection.connect(Connection.java:164)
    at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:80)
    at redis.clients.jedis.Connection.setTimeoutInfinite(Connection.java:68)
    at redis.clients.jedis.Jedis.subscribe(Jedis.java:2626)
    at shipxpress.pubsubservice.controllers.SubscriberThread.run(MainController.java:227)

突然想尝试一下,我这个虚拟机是有自己的IP地址的,那么相对于我自己的Windows系统,就不能使用本地IP127.0.0.1。所以我尝试进入redis.conf配置文件,将bind 127.0.0.1修改为下:

Jedis连接Redis问题记录_第1张图片

我的虚拟机IP地址配置的是:

 这么一修改,代码也要修改,修改如下:

Jedis jedis = new Jedis("192.168.120.129", 6379);

再次实验,成功!!!

Jedis连接Redis问题记录_第2张图片

再到Redis里面去查:

Jedis连接Redis问题记录_第3张图片

查到了,完美解决!!!

你可能感兴趣的:(Redis)