antirez
6468cb2e82
Streams: fix XREAD ready-key signaling.
...
With lists we need to signal only on key creation, but streams can
provide data to clients listening at every new item added.
To make this slightly more efficient we now track different classes of
blocked clients to avoid signaling keys when there is nobody listening.
A typical case is when the stream is used as a time series DB and
accessed only by range with XRANGE.
2017-12-01 10:24:24 +01:00
antirez
b5be5093fe
Streams: fix XREAD timeout handling, zero is valid.
2017-12-01 10:24:24 +01:00
antirez
0adb43b68f
Streams: XREAD ability to block fixed.
2017-12-01 10:24:24 +01:00
antirez
6a1c92d52d
Streams: synchronous xread fixes and improvements.
2017-12-01 10:24:24 +01:00
antirez
fa61720d30
Streams: XREAD, first draft. Handling of blocked clients still missing.
2017-12-01 10:24:24 +01:00
antirez
e65b4825f0
Streams: XREAD arguments parsing.
2017-12-01 10:24:24 +01:00
antirez
4086dff477
Streams: augment client.bpop with XREAD specific fields.
2017-12-01 10:24:24 +01:00
antirez
439120c620
Streams: implement stream object release.
2017-12-01 10:24:24 +01:00
antirez
ec9bbe96bf
Streams: XLEN command.
2017-12-01 10:24:24 +01:00
antirez
485014cc74
Streams: RDB saving.
2017-12-01 10:24:24 +01:00
antirez
100d43c1ac
Streams: assign value of 6 to OBJ_STREAM + some refactoring.
2017-12-01 10:24:24 +01:00
antirez
79866a6361
Streams: 12 commits squashed into the initial Streams implementation.
2017-12-01 10:24:24 +01:00