idea连接服务器端redis失败

在使用idea连接服务器端的redis时失败!

服务器操作系统 CentOS8
redis版本 7.x.x

按照网上的教程,已经将

  • protected-mode 设置成 no

img

  • 将bind注释掉

img

  • daemonize 设置成yes

img

  • 设置了密码

img

  • 服务器安全组也开放了6379端口

img

  • 防火墙也打开了6379

img

使用idea连接时报错
pom.xml

    <!--导包-->
    <dependencies>
        <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>4.4.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 -->
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.38</version>
        </dependency>

    </dependencies>
public class TestPing {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("47.96.39.104", 6379);
        jedis.auth("123456");
        System.out.println(jedis.ping());
    }
}

报错

img

密码写了否,试试

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisConnectionExample {
    public static void main(String[] args) {
        // Set the Redis server host and port
        String redisHost = "your_redis_host";
        int redisPort = 6379;

        // Set the Redis server password (if any)
        String redisPassword = "your_redis_password";

        // Configure the connection pool
        JedisPoolConfig poolConfig = new JedisPoolConfig();
        JedisPool jedisPool = new JedisPool(poolConfig, redisHost, redisPort, 0, redisPassword);

        // Create a new Jedis instance from the pool
        try (Jedis jedis = jedisPool.getResource()) {
            // Perform Redis operations
            jedis.set("key", "value");
            String result = jedis.get("key");
            System.out.println("Retrieved value: " + result);
        } catch (Exception e) {
            // Handle exception
            e.printStackTrace();
        } finally {
            // Close the Jedis pool
            jedisPool.close();
        }
    }
}

先用Redis Desktop Manager可视化工具连接下,在试代码

【以下回答由 GPT 生成】

在连接Redis时遇到问题,首先要确保你的代码和配置文件都是正确的。以下是一些解决该问题的步骤和建议:

  1. 确认Redis服务已经正确安装并在服务器上运行。你可以通过在服务器上运行redis-server或者./redis-server命令来启动Redis服务。

  2. 确认你的服务器可以通过IP地址和端口号访问到Redis服务。你可以使用telnet命令来测试服务器是否可以连接到Redis服务。例如:telnet 47.96.39.104 6379。如果连接成功,你将看到一条类似于Connected to 47.96.39.104.的消息。

  3. 确认你的代码中使用的依赖项正确导入并匹配版本。尤其是检查pom.xml中的dependency部分的版本号是否与你实际使用的Redis和fastjson版本一致。

  4. 确认你的Redis服务的配置文件中的密码是否正确设置,并且与你的代码中使用的密码匹配。你可以通过修改Redis配置文件redis.conf来设置密码,然后重启Redis服务。

  5. 确认你的代码中的Redis连接信息是否准确无误。检查IP地址、端口号和密码是否与你的Redis服务器一致。在IDEA中,可以通过在代码中使用jedis.ping()方法来测试与Redis服务器的连接。如果返回字符串PONG,则表示连接成功。

  6. 如果以上步骤都测试并确认无误,但仍然无法连接到Redis服务器,可能是因为防火墙或安全组的配置不正确。请确认服务器的防火墙和安全组已正确配置并允许来自你的机器的Redis请求通过6379端口。

如果你尝试了以上步骤,仍然无法连接到Redis服务器,可能是由于其他原因造成的。在这种情况下,你可以考虑尝试其他IDE或调试工具来连接Redis进行调试,或者与服务器管理员或Redis社区寻求帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^