Обратное чтение нескольких потоков Redis (воображаемая команда XREVREAD) - PullRequest
0 голосов
/ 14 июля 2020

С потоками redis я могу читать несколько потоков в хронологическом прямом направлении. Каждый поток читается от момента времени до самого нового момента в этом потоке. Я могу получить несколько потоков самого старого элемента

XREAD COUNT 1 STREAMS streamA streamB stream C 0-0 0-0 0-0

и оттуда (отмечая возвращенные идентификаторы) продвигаются вперед, потребляя все элементы в выбранных потоках. Ограничение потребления только одним элементом на поток.

Как я могу легко использовать несколько потоков в обратном порядке. Начать с новейших элементов на кончике потока и вернуться назад во времени, ограничивая потребление только 1 элементом из каждого потока?

1 Ответ

0 голосов
/ 14 июля 2020

Вы не можете, поскольку Redis не предоставляет эту команду XREVREAD, начиная с версии 6.0.

Ближайшим является XREVRANGE , за исключением того, что он принимает только один поток за раз. Если вы действительно хотите, вам, возможно, придется написать сценарий lua, чтобы вы могли предоставить несколько потоков, иметь сценарий l oop потоки и вызвать команду XREVRANGE, а затем сразу же вывести результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...