Heim  >  Artikel  >  Datenbank  >  So verbinden Sie den Golang-Redis-Client

So verbinden Sie den Golang-Redis-Client

WBOY
WBOYnach vorne
2023-05-29 09:14:08747Durchsuche

Implementiert den Redis-Client, einschließlich Verbindungspool und Redis-Pipleline

conn.go

func (c *conn) Do(cmd string , args ...interface{}) (interface{}, Fehler){

if cmd != "" {    if err := c.writeCommand(cmd, args); err != nil {      return nil, c.fatal(err)    }  }    if err := c.bw.Flush(); err != nil {    return nil, c.fatal(err)  }      for i := 0; i <= pending; i++ {    var e error    if reply, e = c.readReply(); e != nil {      return nil, c.fatal(e)    }    if e, ok := reply.(Error); ok && err == nil {      err = e    }  }


Methode kapselt die drei Prozesse einer Anforderung Senden, Flush und Empfangen

1, Senden Schreiben die Anfrage an den Ausgabepuffer

2, Flush sendet den Pufferbefehl an den Server

3, Receive empfängt die Antwort vom Server

# 🎜🎜#https://godoc.org/github.com/gomodule/redigo/redis#hdr-Pipelining

// conn is the low-level implementation of Conn

Da Redis ein Textprotokoll ist, muss es beim Senden gemäß dem Redis-Protokoll serialisiert und beim Empfang gemäß dem Redis-Protokoll deserialisiert werden.


Das Format (Typ) des vom Client gesendeten Befehls: 5 Typen

Das Intervallsymbol ist rn unter Linux und n#🎜🎜 unter Windows #

1. Einfache Zeichenfolgen, beginnend mit einem „+“-Pluszeichen

Format: + Zeichenfolge rn

Die Zeichenfolge darf weder CR noch LF( Zeilenumbrüche enthalten zulässig)

z. B.: „+OKrn“

Hinweis: Um binärsichere Zeichenfolgen zu senden, wird im Allgemeinen empfohlen, den folgenden Bulk-Strings-Typ zu verwenden

#🎜 🎜#2. Fehler, beginnend mit „-“ Minuszeichen

Format: - Fehlerpräfix Fehlermeldung rn

Fehlermeldung darf weder CR noch LF enthalten (Zeilenumbrüche sind möglich). nicht erlaubt) , Fehler sind einfachen Strings sehr ähnlich, außer dass Fehler als Ausnahmen behandelt werden

Beispiel: „-Error unknow command 'foobar'rn“

3. Ganzzahltyp Ganzzahl, beginnend mit „:“ Doppelpunkt

Format: Zahl rn

z. B.: „:1000rn“

4 Bulk-Strings, beginnend mit „$“-Dollarzeichen, Längenbeschränkung 512M

Format: $ String-Länge rn String rn

                                                                Zeilenumbrüche erlaubt);

#🎜🎜 # Beispiel: „$

6

rn

foobar

rn“, wobei die Zeichenfolge foobar ist und 6 die Zeichenlänge von foobar ist „$0 rnrn" „Leere Zeichenfolge „$-1rn“ „$0rnrn“ null

5. Array-Typ Arrays, beginnend mit „*“ Sternchen

#🎜🎜 # Format: * Anzahl der Array-Elemente rn Alle anderen Typen (rn am Ende nicht erforderlich)

Hinweis: Nur der rn nach der Anzahl der Elemente gehört zum Array, die Endung rn ist im Allgemeinen ein Element von

z. B.: „*0rn“ Leeres Array

„*2rn$2rnfoorn$3rnbarrn“ Das Array enthält 2 Elemente, die Zeichenfolge foo und bar.

                        #

                                   in 3rn | Array mit gemischten Typen

"*-1rn" Null-Array

"*2rn*3rn:1rn:2rn :3rn*2rn+Foorn-Barrn" Array-Verschachtelung, das äußere Array enthält 2 Arrays, die wie folgt organisiert sind: 2rn+Foorn-Barrn"

Das obige ist der detaillierte Inhalt vonSo verbinden Sie den Golang-Redis-Client. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen