Redis教程15-连接命令使用参考
1.AUTH
AUTH password
通过设置配置文件中 requirepass 项的值(使用命令 CONFIG SET requirepass password ),可以使用密码来保护 Redis 服务器。
如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命令解锁,解锁之后才能使用其他 Redis 命令。
如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。
另一方面,假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。
因为 Redis 高性能的特点,在很短时间内尝试猜测非常多个密码是有可能的,因此请确保使用的密码足够复杂和足够长,以免遭受密码猜测攻击。
可用版本:>= 1.0.0
时间复杂度:O(1)
返回值:密码匹配时返回 OK ,否则返回一个错误。
127.0.0.1:6379> config set requirepass helloredis // 将密码设置为helloredis OK 127.0.0.1:6379> ping // 报错 (error) NOAUTH Authentication required. 127.0.0.1:6379>
退出重新再连接, 让新密码对客户端生效
$ redis-cli.exe // 重新连接redis 127.0.0.1:6379> ping // 命令报错 (error) NOAUTH Authentication required. 127.0.0.1:6379> auth helloredis666 // 尝试输入错误的密码 (error) ERR invalid password 127.0.0.1:6379> auth helloredis // 输入正确的密码, 返回OK OK 127.0.0.1:6379> ping // 可以正常操作了 PONG 127.0.0.1:6379>
也可以清空密码
127.0.0.1:6379> config set requirepass "" // 通过将密码设为空字符来清空密码 OK 127.0.0.1:6379> ^C D:\ $ redis-cli.exe // 重新连接redis 127.0.0.1:6379> ping // 正常执行命令, 无需验证密码 PONG 127.0.0.1:6379>
另外如果已知redis设置了密码校验, 连接redis客户端的时候, 可以直接指定redis密码, 如下:
127.0.0.1:6379> config set requirepass helloredis666 // 设置密码 OK 127.0.0.1:6379> ^C // 退出, 重新连接redis客户端 D:\ $ redis-cli.exe -h localhost -p 6379 -a helloredis666 // -a指定校验密码 localhost:6379> ping // 登录后可以直接正常操作redis命令 PONG localhost:6379>
2.ECHO
ECHO message
打印一个特定的信息 message ,测试时使用。
可用版本:>= 1.0.0
时间复杂度:O(1)
返回值:message 自身。
redis> ECHO "Hello Moto" "Hello Moto" redis> ECHO "Goodbye Moto" "Goodbye Moto"
3.PING
PING
使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。
通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。
可用版本:>= 1.0.0
时间复杂度:O(1)
返回值:如果连接正常就返回一个 PONG ,否则返回一个连接错误。
# 客户端和服务器连接正常 redis> PING PONG # 客户端和服务器连接不正常(网络不正常或服务器未能正常运行) redis 127.0.0.1:6379> PING Could not connect to Redis at 127.0.0.1:6379: Connection refused
4.QUIT
QUIT
请求服务器关闭与当前客户端的连接。
一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。
可用版本:>= 1.0.0
时间复杂度:O(1)
返回值:总是返回 OK (但是不会被打印显示,因为当时 Redis-cli 已经退出)。
127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> quit D:\ $
5.SELECT
SELECT index
切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。
默认使用 0 号数据库。
可用版本:>= 1.0.0
时间复杂度:O(1)
返回值:OK
redis> SET db_number 0 # 默认使用 0 号数据库 OK redis> SELECT 1 # 使用 1 号数据库 OK redis[1]> GET db_number # 已经切换到 1 号数据库,注意 Redis 现在的命令提示符多了个 [1] (nil) redis[1]> SET db_number 1 OK redis[1]> GET db_number "1" redis[1]> SELECT 3 # 再切换到 3 号数据库 OK redis[3]> # 提示符从 [1] 改变成了 [3]