Jedis连接不上Redis


我启动的Redis是Docker部署的,使用的是默认的配置文件,在默认的redis.conf中,是没有设置requirepass的,不管你jedis.auth()中传入的是什么,程序启动以后都会报错提示找不到对应的用户。

这个时候就需要去Redis中设置密码了。对于我这种Docker部署的Redis操作步骤如下:

进入容器

docker exec -it c_redis /bin/bash
# c_redis是我的容器名,这里要换成你们自己的容器名或者容器id

进入容器目录

cd /usr/local/bin

连接服务器

redis-cli

查看密码(针对设置过但是忘记了密码)

config get requirepass

设置密码

config set requirepass ******

Java单元测试代码

private Jedis jedis;

    @BeforeEach
    void setUp() {
        // 连接
        jedis = new Jedis("****", 6379);
        // 设置密码
        jedis.auth("");
        // 选择库
        jedis.select(0);
    }

    @Test
    void testString() {
        // 存入数据
        String result = jedis.set("name", "Cra2iTeT");
        System.out.println("result => " + result);

        // 获取数据
        String name = jedis.get("name");
        System.out.println("name => " + name);
    }

    @AfterEach
    void testDown() {
        if (jedis != null) {
            jedis.close();
        }
    }

输出结果

result => OK
name => Cra2iTeT