有人可以解释以下Redis命令如何回复内容吗?各个编号的行负责什么?
1: *3
2: $4
3: hget
4: $21
5: zc:k:b23_cache_config
6: $1
7: d
8: $5264$5264
答案 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