【序列化協議】RESP(Redis Serialization Protocol) Redis序列化協議

RESP 是 Redis 序列化協議的簡寫。它是一種直觀的文本協議,優勢在於實現異常簡單,解析性能極好。

Redis 協議將傳輸的結構數據分爲 5 種最小單元類型,單元結束時統一加上回車換行符

號\r\n。

1、單行字符串 以 + 符號開頭。

2、多行字符串 以 $ 符號開頭,後跟字符串長度。

3、整數值 以 : 符號開頭,後跟整數的字符串形式。

4、錯誤消息 以 - 符號開頭。

5、數組 以 * 號開頭,後跟數組的長度。

單行字符串 hello world

+hello world\r\n

多行字符串 hello world

$11\r\nhello world\r\n

多行字符串當然也可以表示單行字符串。

整數 1024

:1024\r\n

錯誤 參數類型錯誤

-WRONGTYPE Operation against a key holding the wrong kind of value

數組 [1,2,3]

*3\r\n:1\r\n:2\r\n:3\r\n

NULL 用多行字符串表示,不過長度要寫成-1。

$-1\r\n

空串 用多行字符串表示,長度填 0。

$0\r\n\r\n

注意這裏有兩個\r\n。爲什麼是兩個? 因爲兩個\r\n 之間,隔的是空串。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章