docs: another ScanType example with "Hash" as the KeyType (#2212)

* docs: example ScanType call that passes in Hash and gets all keys

* docs: added further example_scantype

* docs: updated comment of ExampleClient_ScanType_Type_Hash
This commit is contained in:
Rusty Magnet 2022-10-04 13:05:14 +01:00 committed by GitHub
parent 400ce60e74
commit 77dabc3019
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 0 deletions

View File

@ -278,6 +278,36 @@ func ExampleClient_ScanType() {
// Output: found 33 keys
}
// ExampleClient_ScanType_Type_Hash uses the KeyType "hash"
// Uses ScanType toZZ loop through lots of "keys" in Redis, 10 at a time, and add each key to a []string
func ExampleClient_ScanType_Type_Hash() {
rdb.FlushDB(ctx)
for i := 0; i < 33; i++ {
err := rdb.HSet(context.TODO(), fmt.Sprintf("key%d", i), "value", "foo").Err()
if err != nil {
panic(err)
}
}
var allKeys []string
var cursor uint64
var err error
for {
var keysFromScan []string
keysFromScan, cursor, err = rdb.ScanType(context.TODO(), cursor, "key*", 10, "hash").Result()
if err != nil {
panic(err)
}
allKeys = append(allKeys, keysFromScan...)
if cursor == 0 {
break
}
}
fmt.Printf("%d keys ready for use\n", len(allKeys))
// Output: 33 keys ready for use\n
}
// ExampleMapStringStringCmd_Scan shows how to scan the results of a map fetch
// into a struct.
func ExampleMapStringStringCmd_Scan() {