最近发现公司redis存在被入侵迹象,将redis迁至内网,redis集群增加密码。2.9.0之前的版本,JedisCluster未实现集群密码认证,升级到2.9.0实现
原版本:<jedis.version>2.7.2</jedis.version>
/**
* Deprecated, BasicCommands is not fit to JedisCluster, so it'll be removed
*/
@Deprecated
@Override
public String auth(final String password) {
return new JedisClusterCommand<String>(connectionHandler, maxRedirections) {
@Override
public String execute(Jedis connection) {
return connection.auth(password);
}
}.run(null);
}
异常报错:
public T run(String key) {
if (key == null) {
throw new JedisClusterException("No way to dispatch this command to Redis Cluster.");
}
现版本:<jedis.version>2.9.0</jedis.version>
<jedis.version>2.9.0</jedis.version>
public JedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeout, int soTimeout,
int maxAttempts, String password, final GenericObjectPoolConfig poolConfig) {
super(jedisClusterNode, connectionTimeout, soTimeout, maxAttempts, password, poolConfig);
}