1. 2.1 Connection
1.1. AUTH
AUTH password
- 起始版本:1.0.0
- 时间复杂度:O(1)
通过设置配置文件中 requirepass 项的值(使用命令 CONFIG SET requirepass password ),可以使用密码来保护 Redis 服务器。
如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命令解锁,解锁之后才能使用其他 Redis 命令。
如果 AUTH 命令给定的密码 password 和配置文件中的密码相符的话,服务器会返回 OK 并开始接受命令输入。
另一方面,假如密码不匹配的话,服务器将返回一个错误,并要求客户端需重新输入密码。
因为 Redis 高性能的特点,在很短时间内尝试猜测非常多个密码是有可能的,因此请确保使用的密码足够复杂和足够长,以免遭受密码猜测攻击。
返回值:
密码匹配时返回 OK ,否则返回一个错误。
例子
127.0.0.1:6379> CONFIG SET requirepass 123456 # # 将密码设置为 123456
OK
127.0.0.1:6379> KEYS * # 未验证密码,操作被拒绝
(error) NOAUTH Authentication required.
127.0.0.1:6379> QUIT
$ redis bin/redis-cli -h 127.0.0.1
127.0.0.1:6379> KEYS *
(error) NOAUTH Authentication required.
127.0.0.1:6379> AUTH 1234567 # 尝试输入错误的密码
(error) ERR invalid password
127.0.0.1:6379> AUTH 123456 # 输入正确的密码
OK
127.0.0.1:6379> KEYS * # 密码验证成功,可以正常操作命令了
(empty list or set)
# 设置密码为空字符串,来清空密码
127.0.0.1:6379> CONFIG SET requirepass ''
OK
127.0.0.1:6379> quit
➜ redis bin/redis-cli -h 127.0.0.1 # 重新进入客户端
127.0.0.1:6379> KEYS * # 不需要密码
(empty list or set)
1.2. ECHO
ECHO message
- 起始版本:1.0.0
- 时间复杂度:O(1)
打印一个特定的信息 message ,测试时使用。
返回值:
message 自身。
例子
redis.dev.7mxing.com:6379[10]> echo 'hello'
"hello"
redis.dev.7mxing.com:6379[10]> echo world
"world"
1.3. PING
PING [message]
- 起始版本:1.0.0
- 时间复杂度:O(1) 如果后面没有参数时返回PONG,否则会返回后面带的参数。
这个命令经常用来测试一个连接是否还是可用的,或者用来测试一个连接的延时。
如果客户端处于频道订阅模式下,它将是一个multi-bulk返回,第一次时返回”pong”,之后返回空(empty bulk),除非命令后面更随了参数。
返回值:
如果连接正常就返回一个 PONG ,否则返回一个连接错误。
DEMO
redis> PING
"PONG"
redis> PING "hello world"
"hello world"
redis>
1.4. QUIT
QUIT
- 起始版本:1.0.0
- 时间复杂度:O(1)
请求服务器关闭连接。连接将会尽可能快的将未完成的客户端请求完成处理。
返回值
simple-string-reply: 始终返回 OK (但是不会被打印显示,因为当时 Redis-cli 已经退出).
1.5. SELECT
SELECT index
- 起始版本:1.0.0
- 时间复杂度:O(1)
切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。
默认使用 0 号数据库。
返回值:
OK
例子
127.0.0.1:6379> set db_number 0
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get db_number
(nil)
127.0.0.1:6379[1]> set db_number 1
OK
127.0.0.1:6379[1]> get db_number
"1"
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get db_number
"0"