需要解决Predis“ERR语法错误”

kq0g1dla  于 2022-10-31  发布在  Redis
关注(0)|答案(1)|浏览(165)

我做了一个基于Predis,PHP,Redis的后端应用程序本地开发是用Redis 6.x完成的,运行得很好。这段代码用于将来自其他执行代码的消息记录到远程Redis服务器上,在那里工作人员将使用流数据并将其移动到MySQL中进行长期存储。
将代码移到我们的dev服务器进行测试,我开始收到“ERR语法错误”。经过一番调查,我发现dev运行的是Redis 5.x。所以我们升级到Redis 7.x。代码仍然报告同样的错误。我最终将代码更改为使用不同的Redis命令,它在发送时工作

/**
     * return data on the status of streams
     *
     * @return array
     */
    public function findPending() {
        // XPENDING hubCurlLog hubCurlLog-group IDLE 9000 - + 1  hubCurlLog-group_1
        $command = ['XPENDING', $this->stream_name, $this->stream_group_name, 'IDLE', 9000, '-', '+', 1, $this->consumer_name];
        return $this->redis_client->executeRaw($command);
    }

上面的函数将产生一个Redis命令,如

XPENDING hubCurlLog hubCurlLog-group IDLE 9000 - + 1 hubCurlLog-group_1

这就是我得到ERR语法错误的地方
如果我在cli中运行Redis命令,我仍然会得到同样的错误,但我确实在输入命令时看到了提示,它是已知的。redis-cli command hint
如何解决这个语法问题?

eivgtgni

eivgtgni1#

我找到了一个工作周围,看起来工作,我删除IDLE和时间

XPENDING集线器卷取日志集线器卷取日志组空闲9000 - + 1集线器卷取日志组_1

XPENDING集线器卷取日志集线器卷取日志组- + 1集线器卷取日志组_1

相关问题