Skip to content

DOC-4449 hash command examples #3229

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
114 changes: 111 additions & 3 deletions doctests/cmds_hash_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package example_commands_test
import (
"context"
"fmt"
"sort"

"github.com/redis/go-redis/v9"
)
Expand Down Expand Up @@ -74,8 +75,20 @@ func ExampleClient_hset() {
panic(err)
}

fmt.Println(res6)
// >>> map[field1:Hello field2:Hi field3:World]
keys := make([]string, 0, len(res6))

for key, _ := range res6 {
keys = append(keys, key)
}

sort.Strings(keys)

for _, key := range keys {
fmt.Printf("Key: %v, value: %v\n", key, res6[key])
}
// >>> Key: field1, value: Hello
// >>> Key: field2, value: Hi
// >>> Key: field3, value: World
// STEP_END

// Output:
Expand All @@ -84,7 +97,9 @@ func ExampleClient_hset() {
// 2
// Hi
// World
// map[field1:Hello field2:Hi field3:World]
// Key: field1, value: Hello
// Key: field2, value: Hi
// Key: field3, value: World
}

func ExampleClient_hget() {
Expand Down Expand Up @@ -131,3 +146,96 @@ func ExampleClient_hget() {
// foo
// redis: nil
}

func ExampleClient_hgetall() {
ctx := context.Background()

rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password
DB: 0, // use default DB
})

// REMOVE_START
rdb.Del(ctx, "myhash")
// REMOVE_END

// STEP_START hgetall
hGetAllResult1, err := rdb.HSet(ctx, "myhash",
"field1", "Hello",
"field2", "World",
).Result()

if err != nil {
panic(err)
}

fmt.Println(hGetAllResult1) // >>> 2

hGetAllResult2, err := rdb.HGetAll(ctx, "myhash").Result()

if err != nil {
panic(err)
}

keys := make([]string, 0, len(hGetAllResult2))

for key, _ := range hGetAllResult2 {
keys = append(keys, key)
}

sort.Strings(keys)

for _, key := range keys {
fmt.Printf("Key: %v, value: %v\n", key, hGetAllResult2[key])
}
// >>> Key: field1, value: Hello
// >>> Key: field2, value: World
// STEP_END

// Output:
// 2
// Key: field1, value: Hello
// Key: field2, value: World
}

func ExampleClient_hvals() {
ctx := context.Background()

rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password docs
DB: 0, // use default DB
})

// REMOVE_START
rdb.Del(ctx, "myhash")
// REMOVE_END

// STEP_START hvals
hValsResult1, err := rdb.HSet(ctx, "myhash",
"field1", "Hello",
"field2", "World",
).Result()

if err != nil {
panic(err)
}

fmt.Println(hValsResult1) // >>> 2

hValsResult2, err := rdb.HVals(ctx, "myhash").Result()

if err != nil {
panic(err)
}

sort.Strings(hValsResult2)

fmt.Println(hValsResult2) // >>> [Hello World]
// STEP_END

// Output:
// 2
// [Hello World]
}
Loading