Redis學習筆記—客戶端通訊協議RESP

Redis制定了RESP(REdis Serialization Protocol,Redis序列化協議)實現客戶端與服務端的正常交互,這種協議簡單高效,既能夠被機器解析,又容易被人類識別

發送命令格式

RESP的規定一條命令的格式如下,CRLF代表”\r\n”

*< 參數數量 > CRLF
$< 參數 1 的字節數量 > CRLF
< 參數 1> CRLF
...
$< 參數 N 的字節數量 > CRLF
< 參數 N> CRLF

以set hell world這條命令進行說明,參數數量爲3個,因此第一行爲:

*3

參數字節數分別是355,因此後面幾行爲:

$3
SET
$5
hello
$5
world

這樣傳輸的格式就是:

*3\r\n$3\r\nSET\r\n$5\r\nhello\r\n$5\r\nworld\r\n

返回結果格式

Redis的返回結果類型分爲以下五種:

  • 狀態回覆:在RESP中第一個字節爲”+”
  • 錯誤回覆:在RESP中第一個字節爲”-“
  • 整數回覆:在RESP中第一個字節爲”:”
  • 字符串回覆:在RESP中第一個字節爲”$”
  • 多條字符串回覆:在RESP中第一個字節爲”*”
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章