Когда я проверяю состояние сервера Redis с помощью systemctl, он подключен к сети и работает без проблем. Я также подключился к клиенту Redis через терминал с помощью командной строки на компьютере Linux, на котором он работает, прошел аутентификацию и выполнил PING, в котором был возвращен PONG, чтобы убедиться, что Redis работает.
Конфигурация Redis
У меня есть привязка и requirepass без комментариев в redis.conf и выглядит следующим образом (конечно, не вся моя конфигурация):
Код: Выделить всё
bind 127.0.0.1
requirepass mypassword
port 6379
Код: Выделить всё
private void setupRedis(RedisCredentials credentials) {
final GenericObjectPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(0);
Jedis jedis;
try (JedisPool pool = new JedisPool(poolConfig, credentials.getIp(), credentials.getPort())) {
jedis = pool.getResource();
}
jedis.auth(credentials.getPassword());
jedis.connect();
log.info("Redis connection was established.")
}
Пробовал
Я пробовал следующий код, представленный выше, несколько раз. Я также попытался перезапустить сервер Redis и снова запустить код, но безуспешно.
Ожидается
Чтобы приложение зарегистрировало сообщение «Соединение Redis установлено» и не получило никаких ошибок в процессе.
Результат
Консоль регистрирует redis.clients.jedis.Exceptions.JedisConnectionException: не удалось подключиться к любому хосту, разрешенному для DNS-имени, и поэтому приложению явно не удалось установить соединение с Redis.