【发布时间】:2020-06-29 18:49:58
【问题描述】:
在我的信息流中,我有 1 条待处理消息:
redis[7]> XREADGROUP GROUP symfony consumer COUNT 1 STREAMS messages 0
1) 1) "messages"
2) 1) 1) "1592850947048-0"
2) (nil)
redis[7]> XPENDING messages symfony
1) (integer) 1
2) "1592850947048-0"
3) "1592850947048-0"
4) 1) 1) "consumer"
2) "1"
它不能是 (nil),但仍然.. 我读到了新消息:
redis[7]> XREADGROUP GROUP symfony consumer COUNT 1 STREAMS messages >
1) 1) "messages"
2) 1) 1) "1593141769417-0"
2) 1) "message"
2) "s:726:\"{\"body\":\"O:36:\\\\\\\"Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Envelope\\\\\\\":2:{s:44:\\\\\\\"\\\\0Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Envelope\\\\0stamps\\\\\\\";a:1:{s:46:\\\\\\\"Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Stamp\\\\\\\\BusNameStamp\\\\\\\";a:1:{i:0;O:46:\\\\\\\"Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Stamp\\\\\\\\BusNameStamp\\\\\\\":1:{s:55:\\\\\\\"\\\\0Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Stamp\\\\\\\\BusNameStamp\\\\0busName\\\\\\\";s:21:\\\\\\\"messenger.bus.default\\\\\\\";}}}s:45:\\\\\\\"\\\\0Symfony\\\\\\\\Component\\\\\\\\Messenger\\\\\\\\Envelope\\\\0message\\\\\\\";O:26:\\\\\\\"App\\\\\\\\Bus\\\\\\\\Message\\\\\\\":2:{s:32:\\\\\\\"\\\\0App\\\\\\\\Bus\\\\\\\\Message\\\\0type\\\\\\\";i:6;s:35:\\\\\\\"\\\\0App\\\\\\\\Bus\\\\\\\\Message\\\\0payload\\\\\\\";a:1:{s:7:\\\\\\\"eventId\\\\\\\";i:83787;}}}\",\"headers\":[]}\";"
redis[7]> XPENDING messages symfony
1) (integer) 2
2) "1592850947048-0"
3) "1593141769417-0"
4) 1) 1) "consumer"
2) "2"
新消息不为空,但如果我阅读消息 - 两者都是 (nil)
redis[7]> XREADGROUP GROUP symfony consumer COUNT 2 STREAMS messages 0
1) 1) "messages"
2) 1) 1) "1592850947048-0"
2) (nil)
2) 1) "1593141769417-0"
2) (nil)
为什么?
【问题讨论】:
-
maxgu,如果您能向我们展示您使用的 XADD 命令将会很有用
-
我不知道我的 PHP Redis 客户端到底是怎么做的,我打电话给
$this->connection->xadd("messages", '*', ['message' => $message], $this->maxEntries, true);我认为它发送:XADD messages MAXLEN ~ 50000 * message "s:726:\"{\"body\":\"O:36:\\\\\\\"Symfony...."
标签: redis redis-streams