代码之家  ›  专栏  ›  技术社区  ›  Boardy

Redis在获取键值时会响应各种$值

  •  0
  • Boardy  · 技术社区  · 7 年前

    我目前正在考虑使用Redis,并考虑为其制作一个客户端库。

    当我用 SET mykey myvalue

    GET mykey 然后我得到以下信息

    $7
    myvalue
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   Community Mohan Dere    6 年前

    Redis Protocol specification . 我建议您在尝试编写自己的客户机和/或仅仅编写一个现有的 Redis clients

    这个 + https://redis.io/topics/protocol#resp-simple-strings

    简单字符串按以下方式编码:加号字符,后跟不能包含CR或LF字符的字符串(不允许换行),以CRLF结尾(即“\r\n”)。

    简单字符串用于以最小的开销传输非二进制安全字符串。例如,许多Redis命令在成功时只回复“OK”,即RESP简单字符串用以下5个字节编码:

    "+OK\r\n"
    

    这个 $ 表示批量字符串-参考: https://redis.io/topics/protocol#resp-bulk-strings

    大容量字符串的编码方式如下:

    • 一个“$”字节,后跟组成字符串的字节数(前缀长度),以CRLF结尾。
    • 实际的字符串数据。
    • 最后的CRLF。

    因此字符串“foobar”编码如下:

    "$6\r\nfoobar\r\n"