Cara menyambung redis ke golang
Redis ialah sistem storan data nilai kunci berasaskan memori sumber terbuka yang menyokong pelbagai struktur data dan mekanisme sandaran Ia digunakan secara meluas dalam cache, baris gilir mesej, kaunter masa nyata, pengurusan sesi dan medan lain. Golang ialah bahasa pengaturcaraan sumber terbuka dengan ciri-ciri prestasi tinggi, penaipan yang kuat, kesederhanaan dan kebolehbacaan, dan keselamatan serentak Ia secara beransur-ansur menjadi bahasa popular dalam pengkomputeran awan, pengaturcaraan rangkaian, sistem teragih dan bidang lain. Artikel ini akan memperkenalkan cara menyambungkan Redis di Golang dan melaksanakan operasi membaca dan menulis data.
- Pasang klien Redis dan Go Redis
Mula-mula anda perlu memasang Redis dan mulakan perkhidmatan Redis. Anda boleh menggunakan arahan berikut untuk memasang di bawah sistem Ubuntu:
sudo apt-get update
sudo apt-get install redis-server
Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk memulakan perkhidmatan Redis :
redis-server
Pada masa yang sama, anda perlu menggunakan klien Redis dalam aplikasi Golang untuk menyambung ke perkhidmatan Redis. Pelanggan Go Redis ialah pakej perisian sumber terbuka yang ditulis oleh Gary Burd yang menyediakan sokongan untuk arahan asas Redis. Ia boleh dipasang menggunakan arahan berikut:
go get github.com/go-redis/redis
- Connect Redis
Connect in Go application Perkhidmatan Redis perlu menyatakan alamat, nombor port dan kata laluan pelayan Redis (jika ada). Anda boleh menggunakan kod berikut untuk menyambung kepada perkhidmatan Redis:
import "github.com/go-redis/redis"
func main() {
klien := redis. NewClient(&redis.Options {
Addr: "localhost:6379", Password: "", // no password set DB: 0, // use default DB
})
pong, err := client.Ping().Result()
fmt.Println(pong, err)
}
Objek klien Redis dicipta di sini, alamat pelayan Redis ditentukan sebagai localhost, nombor port ialah 6379, kata laluan kosong dan DB lalai digunakan. Kemudian panggil kaedah Ping() untuk menguji sambungan dan keluarkan hasil sambungan.
Dalam aplikasi sebenar, alamat, nombor port dan kata laluan pelayan Redis perlu dinyatakan mengikut situasi sebenar.
- Operasi baca dan tulis data
Seterusnya, anda boleh menggunakan objek klien Redis untuk melaksanakan operasi baca dan tulis data. Berikut ialah beberapa arahan Redis biasa dan pelaksanaannya dalam Go:
3.1 Menetapkan nilai
Anda boleh menggunakan kaedah Set() untuk menetapkan pasangan nilai kunci:
err := client.Set("key", "value", 0).Err()
if err != nil {
panic(err)
}
Di mana, parameter pertama ialah nama kunci , parameter kedua ialah nilai kunci, parameter ketiga ialah masa tamat tempoh, 0 bermakna tiada tamat tempoh.
3.2 Dapatkan nilai
Anda boleh menggunakan kaedah Get() untuk mendapatkan pasangan nilai kunci:
val, err := client.Get("key") .Result()
if err != nil {
panic(err)
}
fmt.Println("key", val)
Di mana, parameter pertama ialah nama kunci dan nilai pulangan ialah nilai kunci , mengembalikan sifar jika kunci tidak wujud.
3.3 Penambahan
Anda boleh menggunakan kaedah Incr() untuk menambah nilai:
err := client.Incr("key").Err()
if err != nil {
panic(err)
}
Antaranya, parameter pertama ialah nama kunci, yang bermaksud untuk menambah nilai kunci secara automatik.
3.4 Operasi senarai
Anda boleh menggunakan kaedah LPush() untuk memasukkan elemen ke dalam kepala senarai:
err := client.LPush("mylist", "value1", "value2 ").Err()
if err != nil {
panic(err)
}
Anda boleh menggunakan kaedah LRange() untuk mendapatkan elemen senarai:
vals, err := client.LRange("mylist", 0, -1).Result()
if err != nol {
panic(err)
}
for _, val := range vals {
fmt.Println(val)
}
Antaranya, parameter pertama ialah nama senarai, parameter kedua ialah indeks permulaan, parameter ketiga ialah indeks penamat, dan pulangan nilai ialah senarai elemen.
3.5 Operasi pengumpulan
Anda boleh menggunakan kaedah SAdd() untuk menambah elemen pada koleksi:
err := client.SAdd("myset", "value1" , "value2 ").Err()
if err != nil {
panic(err)
}
Anda boleh menggunakan kaedah SMembers() untuk mendapatkan elemen set:
vals, err := client.SMembers("myset").Result()
if err != nil {
panic(err)
}
for _, val := range vals {
fmt.Println(val)
}
Antaranya, parameter pertama ialah nama koleksi, dan nilai pulangan ialah senarai elemen.
- Tutup sambungan
Sebelum menamatkan program, sambungan klien Redis perlu ditutup tepat pada masanya.
err := client.Close()
if err != nil {
panik(err)
}
Melalui langkah di atas, anda boleh menyambung di Golang Redis juga melakukan operasi membaca dan menulis data. Pada masa yang sama, pelanggan Go Redis juga menyediakan sokongan operasi yang lebih kaya, sila lihat dokumentasi rasmi untuk butiran.
Atas ialah kandungan terperinci Cara menyambung redis ke golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini menerangkan mekanisme import pakej Go: Dinamakan import (mis., Import & quot; fmt & quot;) dan import kosong (mis., Import _ & quot; fmt & quot;). Dinamakan import membuat kandungan pakej boleh diakses, sementara import kosong hanya melaksanakan t

Artikel ini menerangkan fungsi Newflash () Beego untuk pemindahan data antara halaman dalam aplikasi web. Ia memberi tumpuan kepada menggunakan NewFlash () untuk memaparkan mesej sementara (kejayaan, kesilapan, amaran) antara pengawal, memanfaatkan mekanisme sesi. Limita

Artikel ini memperincikan penukaran yang cekap hasil pertanyaan MySQL ke dalam kepingan struct go. Ia menekankan menggunakan kaedah imbasan pangkalan data/SQL untuk prestasi optimum, mengelakkan parsing manual. Amalan terbaik untuk pemetaan medan struct menggunakan tag db dan robus

Artikel ini menunjukkan penciptaan dan stub di GO untuk ujian unit. Ia menekankan penggunaan antara muka, menyediakan contoh pelaksanaan mengejek, dan membincangkan amalan terbaik seperti menjaga mocks fokus dan menggunakan perpustakaan penegasan. Articl

Artikel ini meneroka kekangan jenis adat Go untuk generik. Ia memperincikan bagaimana antara muka menentukan keperluan jenis minimum untuk fungsi generik, meningkatkan keselamatan jenis dan kebolehgunaan semula kod. Artikel ini juga membincangkan batasan dan amalan terbaik

Artikel ini memperincikan penulisan fail yang cekap di GO, membandingkan OS.WriteFile (sesuai untuk fail kecil) dengan os.openfile dan buffered menulis (optimum untuk fail besar). Ia menekankan pengendalian ralat yang teguh, menggunakan penangguhan, dan memeriksa kesilapan tertentu.

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Artikel ini meneroka menggunakan alat pengesanan untuk menganalisis aliran pelaksanaan aplikasi GO. Ia membincangkan teknik instrumentasi manual dan automatik, membandingkan alat seperti Jaeger, Zipkin, dan OpenTelemetry, dan menonjolkan visualisasi data yang berkesan
