Hi, I have Redis-backed MQ and my goal is to process many list nodes at once. Now it's not possible with redis, because it supports only BLPOP and BRPOP (only pops 1 item from list).

API receives high amount of requests per second and goal is to store them in SQL. Firstly, I store them in Redis list and then popping items and storing in SQL. In SQL bulk inserts are faster/cheaper than single insertions, because I want to call redis one time, pop 100 items and insert them into SQL at once, instead of call redis 100 times and insert them separately.

BLPOPMANY and BRPOPMANY are placeholder commands, maybe we can add new argument to BLPOP, if it will be useful feature.

Comment From: oranagra

@VakoNonikashvili have you considered streams?

Comment From: madolson

I agree that streams can probably solve this use case, but it might be a bit slower. It might be worth trying to profile the difference.

Comment From: oranagra

I agree this feature makes sense, was trying to suggest a solution that's already implemented.

I was gonna suggest to just add COUNT argument like we have for LPOS (returning an array if provided or flat one item when missing). But i see this request already exists #766, unless i'm missing any difference, let's close this one as a dup, and try to promote the other one for implementation.

Comment From: VakoNonikashvili

@oranagra I agree with COUNT argument instead of new commands.

Lets close this issue and continue in #766

I will find another way to ingest and process data for my MVP app, maybe redis streams.