0
有人可以解释下面的Redis命令是如何让我返回内容的吗?单独的编号行负责什么?Redis命令行语法
1: *3
2: $4
3: hget
4: $21
5: zc:k:b23_cache_config
6: $1
7: d
8: $5264$5264
有人可以解释下面的Redis命令是如何让我返回内容的吗?单独的编号行负责什么?Redis命令行语法
1: *3
2: $4
3: hget
4: $21
5: zc:k:b23_cache_config
6: $1
7: d
8: $5264$5264
该消息格式被称为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
'd'参数在hget命令中代表什么?查阅了文档,但找不到任何参考。 – user1059595
'zc:k:b23_cache_config'是一个[hash](http://redis.io/topics/data-types#hashes),并且在那个散列中有一个'd'字段。 'hget'命令正在请求与散列'zc:k:b23_cache_config'中的'd'字段相关联的值。 –