Heim > Datenbank > Redis > Hauptteil

So verbinden Sie den Golang-Redis-Client

WBOY
Freigeben: 2023-05-29 09:14:08
nach vorne
750 Leute haben es durchsucht

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    }  }
Nach dem Login kopieren


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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage