我在围棋中使用rdb.Pipelined
的时候遇到了github.com/go-redis/redis/v9
包的问题.我有一个带有两个GET查询的管道,一个数据存在,而另一个不存在.但我仍然收到redis: nil
个错误.
以下是示例代码:
ctx := context.Background()
_, err := rdb.Pipelined(ctx, func(pipe redis.Pipeliner) error {
pipe.Get(ctx, "key1")
pipe.Get(ctx, "key2")
return nil
})
if err != nil {
log.Printf("Error executing pipeline: %v", err)
}
在Redis中存在"key1",而"key2"不存在.我可以使用Redis CLI进行验证.当我做rdb.Get(ctx, "key1").Result()
时,它也会返回数据.
同样的情况也适用于EC2上的试运行环境.
我已经判断了打字错误,并确保密钥存在.是什么导致了这种差异,我如何解决它?
Additional Information: Redis服务器版本:7.0.11 Go-Redis版本:v9.1.0 围棋版本:go1.21.0 Darwin/arm64 操作系统:MacOS
我非常感谢任何关于如何排除故障并解决此问题的见解或建议.