Di tutorial ini kita akan belajar cara menyimpan dan mengambil Data Redis menggunakan Golang.
Untuk menggunkan redis di bahasa golang, pertama yang perlu Anda lakukan adalah menambahkan gomod di app yang akan Anda buat.
go mod init github.com/my/repo
Kemudian download librari redis menggunakan go get
go get github.com/redis/go-redis/v9
Selanjutnya buat file dengan nama goredis.go,
1) Buat Fungsi Koneksi Dari Golang ke Redis Di bagian ini Anda perlu membuat fungsi koneksinya terlebih dahulu, perhatikan kode berikut:
func newRedisClient(host string, password string) *redisDriver.Client { client := redisDriver.NewClient(&redisDriver.Options{ Addr: host, Password: password, DB: 0, }) return client }
2) Buat Fungsi Set Data Di bagian ini Anda perlu membuat fungsi untuk melakukan penyimpanan data ke redis, perhatikan kode berikut:
func setData(rdc *redisDriver.Client, key string, data string, ttl time.Duration) error { dataSet := rdc.Set(context.Background(), key, data, ttl) return dataSet.Err() }
3) Buat Fungsi Get Data Di bagian ini Anda perlu membuat fungsi Get Data ke redis, perhatikan kode berikut:
func getData(rdc *redisDriver.Client, key string) (string, error) { dataGet := rdc.Get(context.Background(), key) if dataGet.Err() != nil { fmt.Printf("data tidak ditemukan : %v", dataGet.Err()) return "", dataGet.Err() } resp, err := dataGet.Result() return resp, err }
4) Main Function Saatnya Anda menguji kode diatas dengan sample sederhana untuk menyimpan dan mengambil data dari redis. Perhatikan code berikut:
func main() { var host = "localhost:63790" var redisPassword = "redis" rdc := newRedisClient(host, redisPassword)
key := "sample-test" data := "halo ini test redis pertama sama" ttl := time.Duration(60) * time.Second
//store data errSetData := setData(rdc, key, data, ttl) if errSetData != nil { fmt.Printf("set data error: %v", errSetData) return } log.Println("set data success")
//get data getdata, err := getData(rdc, key) if err != nil { fmt.Println("get data error : %v", err) return } log.Println("get data success result:", getdata) }
Note : Untuk mengikuti tutorial ini, pastikan Anda telah menginstal redis di local computer Anda.
5) Video Tutorial VIDEO Baca artikel lainya: Hello world, membangun microservice dengan FastAPI FastAPI APIRouter, Membangun microservice dngan FastAPI Mini Wallet Bagian 1 - Django Template dan Static File Mini Wallet Bagian 2 - Django Template Base HTML Mini Wallet Bagian 3 - Dajngo Model dan Koneksi Database MySQL Tutorial bassic Mysql bagian 1 - Create Read Update Delete Tutorial bassic Mysql bagian 2 - Inner, Left, Right, Cross Join Tutorial bassic Mysql bagian 3 - Filtering Data Tutorial bassic Mysql bagian 4 - Grouping Data Tutorial bassic Mysql bagian 5 - Operator dan Clausa Tutorial bassic Mysql bagian 6 - Replace Statement Tutorial bassic Mysql bagian 7 - Constraint Data Tutorial bassic Mysql bagian 8 - Mengubah Struktur tabel Tutorial bassic Mysql bagian 9 - Subquery Tutorial bassic Mysql bagian 10 - Virtual Tabel Tutorial bassic Mysql bagian 11 - Control Flow Function Membuat service OTP bagian 1 - OTP dan PIN Membuat service OTP bagian 2 - Sequence Diagram Membuat service OTP bagian 3 - Model dan Serializer Membuat service OTP bagian 4 - Validate OTP Membuat service OTP bagian 5 - Api Client Service Membuat service user login bagian 1 - Konfigurasi Database Membuat service user login bagian 2 - Serializer dan JWT Membuat CRUD service product bagian 1 - Models Product Membuat CRUD service product bagian 2 - Function Serializer Membuat CRUD service product bagian 3 - Api Client Service Membaut CRUD service product bagian 4 - Auth User Membuat CRUD service product bagian 5 - TDR File Log Membuat CRUD service product bagian 6 - Unit Test Membuat service user register bagian 1 - Django Membuat Service user register bagian 2 - Django Membuat service filter dan download file CSV di django Django upload file menggunakan FileSystemStorage