Cara membuat perkhidmatan mikro menggunakan bahasa Go dan Redis

WBOY
Lepaskan: 2023-10-28 09:47:08
asal
997 orang telah melayarinya

Cara membuat perkhidmatan mikro menggunakan bahasa Go dan Redis

Cara mencipta perkhidmatan mikro menggunakan bahasa Go dan Redis

Dengan perkembangan pesat Internet, seni bina perkhidmatan mikro telah menjadi pilihan popular untuk membina aplikasi berskala besar. Dalam seni bina perkhidmatan mikro, fungsi perniagaan yang berbeza dibahagikan kepada perkhidmatan bebas, menjadikan pembangunan, penyelenggaraan dan pengembangan lebih mudah dan lebih fleksibel. Dalam artikel ini, kita akan belajar cara mencipta perkhidmatan mikro ringkas menggunakan bahasa Go dan Redis.

  1. Pasang dan konfigurasikan persekitaran bahasa Go
    Mula-mula, kita perlu memasang dan mengkonfigurasi persekitaran bahasa Go pada mesin tempatan. Muat turun dan pasang pengedaran bahasa Go yang sesuai untuk sistem pengendalian anda daripada tapak web rasmi Go. Setelah pemasangan selesai, tetapkan pembolehubah persekitaran GOPATH anda dan pastikan anda dapat melaksanakan arahan go dalam antara muka baris arahan.
  2. Pasang dan konfigurasikan Redis
    Redis ialah pangkalan data dalam memori sumber terbuka yang biasa digunakan untuk menyimpan dan cache data. Anda boleh memuat turun dan memasang pelayan Redis yang sesuai untuk sistem pengendalian anda daripada laman web rasmi Redis. Setelah dipasang, pelayan Redis akan berjalan pada port 6379 mesin tempatan anda secara lalai.
  3. Buat perkhidmatan mikro yang ringkas
    Mari kita buat perkhidmatan mikro ringkas dahulu untuk memahami cara menggunakan bahasa Go dan Redis untuk memproses data. Perkhidmatan mikro kami akan menyediakan antara muka HTTP yang membolehkan pelanggan menghantar kunci dan nilai kepada pelayan melalui API dan menyimpannya ke dalam pangkalan data Redis. Berikut ialah kod contoh mudah:
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
    "github.com/go-redis/redis/v8"
)

var client *redis.Client

func main() {
    // 创建Redis客户端
    client = redis.NewClient(&redis.Options{
        Addr:     "localhost:6379",
        Password: "", // 没有密码时留空
        DB:       0,  // 默认数据库
    })

    // 定义HTTP处理函数
    http.HandleFunc("/save", saveHandler)

    // 启动HTTP服务器
    http.ListenAndServe(":8080", nil)
}

func saveHandler(w http.ResponseWriter, r *http.Request) {
    // 从HTTP请求中读取键和值
    body, err := ioutil.ReadAll(r.Body)
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }
    defer r.Body.Close()

    // 将键和值存储到Redis数据库中
    err = client.Set(r.URL.Path, string(body), 0).Err()
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }

    // 返回成功消息
    fmt.Fprint(w, "Data saved successfully")
}
Salin selepas log masuk

Dalam kod di atas, kami mencipta pelayan HTTP menggunakan pakej net/http bahasa Go dan mentakrifkan fungsi saveHandler untuk mengendalikan permintaan /save klien. Kami menggunakan perpustakaan go-redis untuk menyambung dengan pelayan Redis dan menyimpan data yang diterima daripada permintaan ke dalam pangkalan data Redis menggunakan kaedah Set.

  1. Menguji Perkhidmatan Mikro
    Kini kami boleh memulakan perkhidmatan mikro kami dan menguji sama ada ia berfungsi dengan betul. Dalam antara muka baris arahan, pergi ke direktori tempat kod itu terletak dan laksanakan arahan berikut untuk memulakan pelayan HTTP:
go run main.go
Salin selepas log masuk

Setelah pelayan berjaya dimulakan, anda boleh menggunakan mana-mana alat klien HTTP (seperti cURL atau Postman ) untuk menghantar /menyimpan ke pelayan Minta untuk menyimpan data ke pangkalan data Redis. Sebagai contoh, anda boleh menghantar permintaan /save menggunakan cURL menggunakan arahan berikut:

curl -X POST -d "key=value" http://localhost:8080/save
Salin selepas log masuk

Jika semuanya berjalan lancar, anda akan melihat output "Data berjaya disimpan" dalam antara muka baris arahan. Anda juga boleh menggunakan alat baris arahan atau pustaka klien Redis untuk mengesahkan data yang disimpan ke dalam pangkalan data Redis.

Kesimpulan
Dalam artikel ini, kami mempelajari cara mencipta perkhidmatan mikro ringkas menggunakan bahasa Go dan Redis. Kami mencipta pelayan HTTP menggunakan pakej net/http bahasa Go dan menggunakan perpustakaan go-redis untuk menyambung ke pelayan Redis. Dengan memperhalusi dan melanjutkan contoh mudah ini, anda boleh membina seni bina perkhidmatan mikro yang lebih kompleks dan berkuasa serta memenuhi pelbagai keperluan perniagaan. Saya harap artikel ini membantu anda memahami cara membuat perkhidmatan mikro menggunakan bahasa Go dan Redis.

Atas ialah kandungan terperinci Cara membuat perkhidmatan mikro menggunakan bahasa Go dan Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan