Redis命令行语法

时间:2012-10-19 15:55:26

标签: redis

有人可以解释以下Redis命令如何回复内容吗?各个编号的行负责什么?

1: *3
2: $4
3: hget
4: $21
5: zc:k:b23_cache_config
6: $1
7: d
8: $5264$5264

1 个答案:

答案 0 :(得分:5)

消息格式称为unified request protocol

星号*表示此请求中预期的参数数量。所以,*3用于三个参数。

美元符号$表示参数中预期的字节数。所以,$1是一个字节。

*<number of arguments> CR LF
$<number of bytes of argument 1> CR LF
<argument data> CR LF
...
$<number of bytes of argument N> CR LF
<argument data> CR LF

示例中的原始消息如下所示:

*3\r\n$4\r\nhget\r\n$21\r\nzc:k:b23_cache_config\r\n$1\r\nd\r\n

This particular request会返回bulk reply response,如下所示:

$<number of bytes> CR LF
<DATA> CR LF

如果请求的密钥不存在,则回复将为:

$-1