Jedis 2.8.0を使用していますが、次の例外が発生します。
Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set
at redis.clients.jedis.Protocol.processError(Protocol.Java:123)
at redis.clients.jedis.Protocol.process(Protocol.Java:157)
at redis.clients.jedis.Protocol.read(Protocol.Java:211)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.Java:297)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.Java:196)
at redis.clients.jedis.BinaryJedis.auth(BinaryJedis.Java:2049)
at redis.clients.jedis.JedisFactory.makeObject(JedisFactory.Java:89)
at org.Apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.Java:868)
at org.Apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.Java:458)
at org.Apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.Java:363)
at redis.clients.util.Pool.getResource(Pool.Java:49)
... 4 more
以下は私が使用しているAPIです。
jedisPool = new JedisPool(jedisPoolConfig, Host, port, IDLE_CONNECTION_TIMEOUT, authSecret);
ノート:
Redis
インスタンスにパスワードが設定されていません。 redis-cli -a
で送信されたパスワードは無視されています。
これで、redisインスタンスにパスワードを設定できます。これを行うには、redis設定ファイルを編集し、requirepass
オプションを設定してredisインスタンスを再起動します。
または、redisとの通信中にパスワードオプションを無視します。例えば。
jedisPool = new JedisPool(jedisPoolConfig, Host, port, IDLE_CONNECTION_TIMEOUT);