redis-go Scan-with-iterator 的正确 valkey-go 替代品

问题描述 投票:0回答:1

使用

go-redis
我正在使用迭代器扫描大量键,如下所示

scanIterr := client.Scan(0, "*", 1000).Iterator()
for scanIterr.Next() {
    key := scanIterr.Val()
    fmt.Printf("%v\n", key)
    if key == keyLookingFor {
        kyeFound = true
        return
    }
}

我尝试用

valkey-go
做同样的事情,但最终得到以下代码

res := client.Do(ctx, client.B().Scan().Cursor(0).Match("*").Count(1000).Build())
se, _ := resss.AsScanEntry()
for _, key := range se.Elements {
    fmt.Printf("%v\n", key)
    if key == keyLookingFor {
        kyeFound = true
        return
    }
}

我不认为这个 valkey 代码会像 redis 那样读取所有键。此外,valkey 变体一次读取所有键,但 go-redis 代码以 count 大小的批次读取。

有人可以建议使用

valkey-go
的代码的正确
go-redis
替代方案吗?

go valkey
1个回答
0
投票

ValKey 组织的一部分,ValKey-Glide 的维护者。 首先,去 ValKey-Go 提出问题,我相信社区会努力实现缺失的内容。

此外,这对我来说很重要,:) ValKey-Glide 很快将与 Go 的 glide 一起进入 Beta 版,到 2 月/3 月我们将进入 GA 版。 如果您想成为 Beta 用户,我们很乐意听到!我建议继续关注 GA,我认为 Glide 将成为客户的黄金标准。

如果这对您来说很重要,请在 Glide 存储库中提出问题,即使您使用其他客户端也是如此。 除了我们多年来与客户合作所带来的成果之外,我们高度赞赏并希望了解用户的需求。

© www.soinside.com 2019 - 2024. All rights reserved.