首页 > 解决方案 > Redis 事务管道未执行所有事务,而是返回 QUEUED 命令

问题描述

Go redis 事务管道,不执行所有事务,而是在调用 pipe.Exec() 时返回 QUEUED 命令。

(使用的Redis客户端:“github.com/go-redis/redis/v7”导入为红色)

当键的长度 > 9 时,pipe.Exec() 返回的 cmders 结构是一个数组,其中第一个元素的类型为 *redis.StatusCmd,val 为“QUEUED”,数据为“multi”。正如预期的那样,其余元素的类型为 *redis.StringStringMapCmd。

    pipe := *red.Client.TxPipeline()

    for _, key := range keys {

        pipe.HGetAll(key)
    }

    cmders, err := pipe.Exec()
    if err != nil {
        return err
    }

附加信息/我尝试过的事情:

标签: goredistransactions

解决方案


推荐阅读