Redis AUTH命令

Redis AUTH命令教程

Redis 中,我们可以通过设置配置文件中 requirepass 项的值,或者使用命令 CONFIG SET requirepass password,来对 Redis 服务器使用密码保护。如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命令解锁,解锁之后才能使用其他 Redis 命令。

如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。

Redis AUTH命令详解

语法

192.168.98.70:6379> AUTH PASSWORD

参数

参数 描述
PASSWORD 要验证的密码。

返回值

密码匹配时返回 OK ,否则返回一个错误。如果服务器没有设置密码,那么我们使用 AUTH 命令进行验证,也会报错。

时间复杂度

O(1)

可用版本

>= 1.0.0

案例

AUTH验证密码

使用 AUTH 命令验证没有密码的服务器,报错

127.0.0.1:6379> AUTH "haicoder" (error) ERR Client sent AUTH, but no password is set 127.0.0.1:6379>

因为,我们的服务器没有设置密码,这里我们使用 AUTH 来验证密码,报错。

AUTH验证密码

使用 AUTH 命令验证没有密码的服务器,报错

127.0.0.1:6379> CONFIG SET requirepass haicoder OK 127.0.0.1:6379> QUIT [root@host-192-168-21-207 ~]# redis-cli 127.0.0.1:6379> PING (error) NOAUTH Authentication required. 127.0.0.1:6379> AUTH haicoder OK 127.0.0.1:6379> PING PONG 127.0.0.1:6379> CONFIG SET requirepass "" OK

首先,我们使用 CONFIG SET 命令对当前 redis 服务器设置了密码 “haicoder”,接着,我们使用 QUIT 命令,退出了服务器,并再次使用 redis-cli 命令开启了服务器连接。

此时,我们直接使用 PING 命令,查看服务器连接,此时报错,提示我们需要认证,我们使用 AUTH 命令加上密码,进行服务器认证,认证成功,再次使用 PING 命令,返回成功。

最后,我们再次使用 CONFIG SET 命令取消当前服务器的密码。

Redis AUTH命令总结

如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。