前言
JAVA開(kāi)發(fā)人員出去面試搁拙,基本是必問(wèn)Redis云挟。
redis分為客戶(hù)端和服務(wù)端兩個(gè)部分矫限,這次就是通過(guò)手寫(xiě)一個(gè)Redis的客戶(hù)端哺哼,讓你掌握里面的知識(shí)。
RESP協(xié)議
RESP協(xié)議是Redis客戶(hù)端和服務(wù)端之間的通訊協(xié)議叼风,這是它的官方文檔:https://redis.io/topics/protocol取董。
我就是根據(jù)這個(gè)協(xié)議來(lái)實(shí)現(xiàn)客戶(hù)端的。
協(xié)議幾個(gè)要點(diǎn):
1无宿、客戶(hù)端和服務(wù)端通過(guò)TCP進(jìn)行數(shù)據(jù)交互
2茵汰、 傳輸?shù)臄?shù)據(jù)遵循RESP協(xié)議,如下:
每一段數(shù)據(jù)通過(guò) 進(jìn)行分隔孽鸡,每段數(shù)據(jù)通過(guò)一個(gè)特殊標(biāo)志作為開(kāi)頭
* 代表數(shù)組
$ 多行字符串
+ 單行信息
- 錯(cuò)誤信息
: 整型數(shù)字
不能理解沒(méi)關(guān)系蹂午,看完我的示例,你自己多練幾把就明白了彬碱。
客戶(hù)端步驟1 - 建立TCP連接
客戶(hù)端步驟2 - 實(shí)現(xiàn)set/get命令
客戶(hù)端步驟3 - 測(cè)試
重要的是思路豆胸,希望對(duì)你有啟發(fā)。
JAVA學(xué)習(xí)不易巷疼,不要好高騖遠(yuǎn)配乱,需要沉下心系統(tǒng)性的學(xué)習(xí)。