From a5b22b4a3ba0a9a262dcf0881446e8104edfcbda Mon Sep 17 00:00:00 2001 From: Pavel Tisnovsky Date: Mon, 29 Jun 2020 09:17:34 +0200 Subject: [PATCH] Example #9: decrementation --- lesson7/redis/09_decr/09_decr.go | 55 ++++++++++++++++++++++++++++++++ lesson7/redis/09_decr/go.mod | 5 +++ 2 files changed, 60 insertions(+) create mode 100644 lesson7/redis/09_decr/09_decr.go create mode 100644 lesson7/redis/09_decr/go.mod diff --git a/lesson7/redis/09_decr/09_decr.go b/lesson7/redis/09_decr/09_decr.go new file mode 100644 index 0000000..07a18c2 --- /dev/null +++ b/lesson7/redis/09_decr/09_decr.go @@ -0,0 +1,55 @@ +package main + +import ( + "fmt" + + "github.com/go-redis/redis/v8" +) + +// adresa určující službu Redisu, která se má použít +const redisAddress = "localhost:6379" + +func main() { + // vytvoření nového klienta s předáním konfiguračních parametrů + client := redis.NewClient(&redis.Options{ + Addr: redisAddress, + Password: "", // no password set + DB: 0, // use default DB + }) + + // neměli bychom zapomenout na ukončení práce s klientem + defer func() { + err := client.Close() + if err != nil { + panic(err) + } + }() + + // získáme kontext + context := client.Context() + + // pokus o klasický handshake typu PING-PONG + _, err := client.Ping(context).Result() + if err != nil { + panic(err) + } + + // smazání hodnoty, pokud existovala + client.Del(context, "counter") + + // dekrementace (neexistující) hodnoty + newValue := client.Decr(context, "counter").Val() + fmt.Println("Counter value:", newValue) + + // přečtení hodnoty z databáze Redisu + newValue = client.DecrBy(context, "counter", 0).Val() + fmt.Println("Counter value:", newValue) + + // dekrementace (nyní již existující) hodnoty + newValue = client.Decr(context, "counter").Val() + fmt.Println("Counter value:", newValue) + + // inkrementace (nyní již existující) hodnoty + newValue = client.DecrBy(context, "counter", -1).Val() + fmt.Println("Counter value:", newValue) +} diff --git a/lesson7/redis/09_decr/go.mod b/lesson7/redis/09_decr/go.mod new file mode 100644 index 0000000..d95c829 --- /dev/null +++ b/lesson7/redis/09_decr/go.mod @@ -0,0 +1,5 @@ +module redis1 + +go 1.13 + +require github.com/go-redis/redis/v8 v8.0.0-beta.5