Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk menyambung pelanggan golang redis

Bagaimana untuk menyambung pelanggan golang redis

WBOY
WBOYke hadapan
2023-05-29 09:14:08725semak imbas

Melaksanakan klien redis, termasuk kolam sambungan dan saluran pipleline redis

conn.go

func (c *conn) Do(cmd string, args ...interface { }) (antara muka{}, ralat){

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    }  }
Kaedah


merangkum tiga proses permintaan: Hantar, Siram dan Terima

1, hantar menulis permintaan kepada penimbal output

2, Flush menghantar arahan penimbal ke pelayan

3, Terima menerima respons daripada pelayan

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

// conn is the low-level implementation of Conn

Oleh kerana redis ialah protokol teks, ia perlu bersiri mengikut protokol redis semasa menghantar, dan dinyahsiri mengikut protokol redis apabila menerima.

Format (jenis) arahan yang dihantar oleh klien: 5 jenis

Simbol selang, iaitu rn di bawah Linux dan n di bawah Windows

1 , bermula dengan tanda tambah "+"

Format: + Rentetan rn

Rentetan tidak boleh mengandungi CR atau LF (pemutus baris tidak dibenarkan)

cth : "+OKrn "

Nota: Untuk menghantar rentetan selamat binari, biasanya disyorkan untuk menggunakan jenis Rentetan Pukal berikut

2. Ralat, bermula dengan tanda tolak "-"

Format: - Ralat awalan Mesej ralat rn

Mesej ralat tidak boleh mengandungi CR atau LF (pemutus baris tidak dibenarkan), Ralat sangat serupa dengan Rentetan Mudah, perbezaannya ialah Ralat akan dianggap sebagai pengecualian

cth: "-Ralat arahan tidak diketahui 'foobar'rn"

3 Jenis Integer, bermula dengan ":" bertindih

Format:: Nombor rn

.

  cth: ":1000rn"

4 Rentetan jenis besar Rentetan Pukal, bermula dengan tanda dolar "$", had panjang 512M

Format: $ Panjang rentetan rn Rentetan rn <.>

Rentetan tidak boleh mengandungi CR atau LF (Break Line tidak dibenarkan); jenis lain (tidak perlu rn di penghujung)

Nota: Hanya rn selepas bilangan elemen kepunyaan tatasusunan, dan rn pengakhiran Secara amnya, ia adalah elemen

cth : "*0rn" Tatasusunan kosong "*2rn$2rnfoorn$3rnbarrn" Tatasusunan mengandungi 2 elemen, iaitu rentetan foo dan bar

"*3rn:1rn:2rn:3rn" Tatasusunan mengandungi 3 integer: 1, 2, 3

"*5rn:1rn:2rn:3rn:4rn$6rnfoobarrn" Tatasusunan mengandungi jenis bercampur

"*-1rn" Tatasusunan Null

Tatasusunan "*2rn*3rn:1rn:2rn:3rn*2rn+Foorn-Barrn" Tatasusunan bersarang, dan tatasusunan luar mengandungi 2 tatasusunan, yang disusun seperti berikut :

"*2rn

  *3rn:1rn:2rn:3rn

Atas ialah kandungan terperinci Bagaimana untuk menyambung pelanggan golang redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam