自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Redis竟然還有自定義網(wǎng)絡(luò)通信協(xié)議?

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理 Redis
凡是網(wǎng)絡(luò)通信,皆需要雙方遵守一致的協(xié)議才能互聯(lián)。Redis在TCP端口6379上監(jiān)聽到來的連接,客戶端連接到來時(shí),Redis服務(wù)器為此創(chuàng)建一個(gè)TCP連接。

[[385171]]

凡是網(wǎng)絡(luò)通信,皆需要雙方遵守一致的協(xié)議才能互聯(lián)。Redis協(xié)議在如下幾點(diǎn)之間做出了折衷:

  • 實(shí)現(xiàn)簡(jiǎn)單
  • 被計(jì)算機(jī)快速解析
  • 有一定的可讀性

網(wǎng)絡(luò)層

Redis在TCP端口6379上監(jiān)聽到來的連接,客戶端連接到來時(shí),Redis服務(wù)器為此創(chuàng)建一個(gè)TCP連接。在客戶端與服務(wù)器端之間傳輸?shù)拿總€(gè)Redis命令或者數(shù)據(jù)都以\r\n結(jié)尾。

請(qǐng)求

Redis接收由不同參數(shù)組成的命令。一旦收到命令,將會(huì)立刻被處理,并響應(yīng)給客戶端。

新的統(tǒng)一請(qǐng)求協(xié)議

新的統(tǒng)一協(xié)議在Redis 1.2中引入,在Redis 2.0中,成為與Redis服務(wù)器通訊的標(biāo)準(zhǔn)方式。

在這個(gè)統(tǒng)一協(xié)議里,發(fā)送給Redis服務(wù)端的所有參數(shù)都是二進(jìn)制安全的。

如下是通用形式:

  1. *<number of arguments> CR LF 
  2. $<number of bytes of argument 1> CR LF 
  3. <argument data> CR LF 
  4. ... 
  5. $<number of bytes of argument N> CR LF 
  6. <argument data> CR LF 

示例:

  1. ➜  ~ nc localhost 6379 
  2. keys * 
  3. *2 
  4. $18 
  5. user:sign:5:202101 
  6. $18 
  7. seckill_vouchers:6 

上面的命令看上去像是單引號(hào)字符串,所以可在查詢中看到每個(gè)字節(jié)的準(zhǔn)確值:

  1. "*2\r\n$18\r\nuser:sign:5:202101\r\n$18\r\nseckill_vouchers:6\r\n" 

在Redis的響應(yīng)中也使用這樣的格式。批量回復(fù)時(shí),這種格式用于每個(gè)參數(shù)。實(shí)際的統(tǒng)一請(qǐng)求協(xié)議是Redis用于返回列表項(xiàng),并調(diào)用 Multi-bulk回復(fù)。僅僅是N個(gè)以以*\r\n為前綴的不同批量回復(fù),是緊隨的參數(shù)(批量回復(fù))數(shù)目。

響應(yīng)

Redis用不同的響應(yīng)類型回復(fù)命令。它可能從服務(wù)器發(fā)送的第一個(gè)字節(jié)開始校驗(yàn)回復(fù)類型:

單行響應(yīng)

響應(yīng)的第一個(gè)字節(jié)將是+

  1. set java edge 
  2. +OK 

錯(cuò)誤消息

響應(yīng)的第一個(gè)字節(jié)是-

  1. keys* 
  2. -ERR unknown command `keys*`, with args beginning with

整型數(shù)字

響應(yīng)的第一個(gè)字節(jié)將是:

批量響應(yīng)

第一個(gè)字節(jié)將是$

  1. keys * 
  2. *2 
  3. $18 
  4. user:sign:5:202101 
  5. $18 
  6. seckill_vouchers:6 

多個(gè)批量響應(yīng)

  1. 響應(yīng)的第一個(gè)字節(jié)將是* 

 

 

責(zé)任編輯:姜華 來源: JavaEdge
相關(guān)推薦

2019-04-29 10:26:49

TCP網(wǎng)絡(luò)協(xié)議網(wǎng)絡(luò)通信

2021-05-29 16:12:00

通信協(xié)議設(shè)備

2010-06-09 11:31:55

網(wǎng)絡(luò)通信協(xié)議

2024-02-20 19:53:57

網(wǎng)絡(luò)通信協(xié)議

2010-07-01 15:45:22

網(wǎng)絡(luò)通信協(xié)議

2010-06-09 11:57:42

網(wǎng)絡(luò)通信協(xié)議

2010-06-14 19:13:28

網(wǎng)絡(luò)通信協(xié)議

2021-08-13 11:27:25

網(wǎng)絡(luò)通信數(shù)據(jù)

2010-06-09 12:20:34

網(wǎng)絡(luò)通信協(xié)議層

2024-04-26 09:13:34

RPCHTTP協(xié)議

2010-06-12 16:34:57

網(wǎng)絡(luò)通信協(xié)議

2010-06-12 16:51:54

計(jì)算機(jī)網(wǎng)絡(luò)通信協(xié)議

2022-01-09 23:38:42

通信協(xié)議網(wǎng)絡(luò)

2023-11-04 09:06:11

2023-10-12 19:37:50

通信協(xié)議HTTP

2022-12-02 14:42:37

2010-06-11 14:31:08

通信協(xié)議

2009-04-20 11:12:54

共享協(xié)議網(wǎng)絡(luò)故障

2010-07-06 17:14:03

網(wǎng)關(guān)通信協(xié)議

2019-05-27 06:05:20

物聯(lián)網(wǎng)協(xié)議物聯(lián)網(wǎng)IOT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)