Redis Stream ืืื ืกืื ื ืชืื ืื ืืืคืฉื ืืืฉ ืฉืืืฆื ื-Redis ืขื ืืจืกื 5.0
ืืืืื ื ืงืื ืกืคืืืืืืช, Redis Stream ืืื ืจืฉืืื ืฉืืืื ืืชื ืืืื ืืืืกืืฃ ืขืจืืื. ืืื ืขืจื ืืฉ ืืืื ืืืืืื. ืืืจืืจืช ืืืื, ืืืืื ื ืืฆืจ ืืืืืืืืช ืืืืื ืืืชืืช ืืื. ืืื, ืืชื ืืืื ืืืฆืข ืฉืืืืชืืช ืืืืืื ืจืฉืืืืช ืืืืจื ืืื, ืื ืืงืื ื ืชืื ืื ืืืฉืื ืืฉืื ืืืืขืื ืืืจื, ืืืืื ืืคืงืืืช Unix "tail -f" ืงืืจืืช ืงืืืฅ ืืืื ืืงืืคื ืืืื ืืืืชื ื ืื ืชืื ืื ืืืฉืื. ืฉืื ืื ืฉืืงืืืืช ืืจืืืื ืืืืืื ืืืืืื ืืฉืจืฉืืจ ืื-ืืื ืืช, ืืืืืง ืืคื ืฉืชืืืืื "tail -f" ืจืืื ืืืืืื ืืงืจืื ืงืืืฅ ืื-ืืื ืืช ืืืื ืืืชื ืืฉ ืื ืขื ืื.
ืืื ืืืืื ืืช ืื ืืืชืจืื ืืช ืฉื ืกืื ืื ืชืื ืื ืืืืฉ, ืืื ื ืกืชืื ืืืืืจืืช ืขื ืืื ื Redis ืืงืืืืื ืืชืืงืื ืืืฉืืคืืื ืืืงืืช ืืช ืืคืื ืงืฆืืื ืืืืช ืฉื Redis Stream.
Redis PUB/SUB
Redis Pub/Sub ืืื ืืขืจืืช ืืืืขืืช ืคืฉืืื ืฉืืืจ ืืืื ืืช ืืื ืืช ืืืคืชื ืฉืื. ืขื ืืืช, ืืคืฉืืืช ืืฉ ืืืืจ:
- ืื ืืืืฆืื ืืืืจ ืืกืืื ืืืฉืื ื ืืฉื, ืื ืืื ืืืื ืืช ืื ืืื ืืืื ืฉืื
- ืืืืฆืื ืืืืจ ืฆืจืื ืืืขืช ืืช ืืืชืืืช ืืืืืืงืช ืฉื ืื ืืื ืืืื ืฉืื
- ืืคืจืกื ืขืืื ืืืขืืืก ืขื ืืื ืืืื ืฉืื ืืขืืืื ืื ืื ืชืื ืื ืืชืคืจืกืืื ืืืจ ืืืชืจ ืืื ืฉืื ืืขืืืืื
- ืืืืืขื ื ืืืงืช ืืืืืืจ ืฉื ืืืคืจืกื ืืื ืืืืจ ืืคืจืกืื, ืืื ืงืฉืจ ืืืื ืื ืืืื ืืื ื ืืกืจื ืืืื ืืืจ ืื ืืฆืืืื ืืขืื ืืช ืืืืืขื ืืื.
- ืื ืืื ืืืื ืืงืืื ืืช ืืืืืขื ืื ืืื ืืช. ืืื ืืืื ืขืฆืื ืืืืืื ืืืืฉืื ืืืกืืื ืืื ืืื ืขื ืกืืจ ืืขืืืื ืฉื ืืืชื ืืืืขื.
- ืืื ืื ืื ืื ืืืื ื ืืืฉืจ ืฉืื ืื ืขืืื ืืืืขื ืืืฆืืื. ืื ืื ืื ืืงืื ืืืืขื ืืงืืจืก ืืืืื ืืขืืืื, ืืืคืจืกื ืื ืืืืข ืขื ืื.
ืจืฉืืืช Redis
Redis List ืืื ืืื ื ื ืชืื ืื ืืชืืื ืืืกืืืช ืคืงืืืืช ืงืจืืื. ืืชื ืืืื ืืืืกืืฃ ืืืงืจืื ืืืืขืืช ืืชืืืืช ืื ืกืืฃ ืืจืฉืืื. ืืืชืืกืก ืขื ืืืื ื ืืื, ืืชื ืืืื ืืืฆืืจ ืืืกื ืืช ืื ืชืืจ ืืื ืืืขืจืืช ืืืืืืจืช ืฉืื, ืืืจืื ืืืงืจืื ืื ืืกืคืืง. ืืืืืืื ืืขืืงืจืืื ื-Redis Pub/Sub:
- ืืืืืขื ืืืขืืจืช ืืืงืื ืืื. ืืืงืื ืืจืืฉืื ืฉื ืืกื ืืงืจืืื ืืงืื ืืช ืื ืชืื ืื ืชืืืื.
- ืงืืื ื ืืืื ืืืืื ืืช ืคืขืืืช ืืงืจืืื ืขืืืจ ืื ืืืืขื ืืขืฆืื. ืจืฉืืื ืื ืืืืขืช ืืืจ ืขื ืืงืืืืช.
- ืืืืขืืช ืืืืืกื ืืช ืขื ืฉืืืฉืื ืงืืจื ืืืชื ืื ืืืืง ืืืชื ืืืคืืจืฉ. ืื ืชืืืืจ ืืช ืฉืจืช Redis ืืฉืืืฃ ื ืชืื ืื ืืืืกืง, ืืื ืืืืื ืืช ืฉื ืืืขืจืืช ืขืืื ืืืืคื ืืจืืื.
ืืืื ืืกืืจืืืื ื
ืืืกืคืช ืขืจื ืืืจื
ืงืืืฆื XADD ืืืกืืฃ ืขืจื ืืืฉ ืืืจื. ืจืฉืืื ืืื ืื ืจืง ืืืจืืืช, ืืื ืืืจืืืช ืืืื ืืคืชื-ืขืจื ืืื ืื ืืืชืจ. ืืคืืื, ืื ืขืจื ืืืจ ืืืื ื ืืืืื ืืืื ื ืฉื ืงืืืฅ CSV.
> XADD mystream * sensor-id 1234 temperature 19.8
1518951480106-0
ืืืืืื ืฉืืืขืื, ืื ื ืืืกืืคืื ืฉื ื ืฉืืืช ืืืจื ืขื ืืฉื (ืืคืชื) "mystream": "ืืืืฉื ืืืื" ื-"ืืืคืจืืืจื" ืขื ืืขืจืืื "1234" ื-"19.8", ืืืชืืื. ืืชืืจ ืืืจืืืื ื ืืฉื ื, ืืคืงืืื ืืืงืืช ืืืื ืฉืืืงืฆื ืืขืจื - ืืืื ืื ืืืื ืืืืคื ืืืืืื ืื ืขืจื ืืืจื. ืขื ืืืช, ืืืงืจื ืืื ืขืืจื ื * ืื ืื ืื ื ืจืืฆืื ืฉ-Redis ืืคืืง ืื ื ืืืื ืืืฉ. ืื ืชืขืืืช ืืืืช ืืืฉื ืชืืื. ืืื, ืืื ืขืจื ืืืฉ ืืืื ืืืื ืืืื ืืืชืจ ืืืืก ืืขืจืืื ืงืืืืื.
ืคืืจืื ืืืื
ืืืื ืืื ืืกื ืฉืืืืืจ ืขื ืืื ืืคืงืืื XADD, ืืืจืื ืืฉื ื ืืืงืื:
{millisecondsTime}-{sequenceNumber}
ืืืื-ืฉื ืืืช ืืื - ืืื ืืื ืืงืก ืืืืคืืืช ืฉื ืืืช (ืืื ืฉืจืช Redis). ืขื ืืืช, ืื ืืฉืขื ืื ืืืืืช ืืื ืื ืงืื ื ืืืืื ืฉื ืืืงืืื ืืงืืืืช, ืืื ื ืขืฉื ืฉืืืืฉ ืืืืชืืช ืืืื ืฉื ืืืงืืื ืืงืืืืช. ืืื, ืื ืืื ืืฉืจืช ืืืืจ ืืืืจื ืืืื, ืืืืื ืืืืฉ ืขืืืื ืืฉืืืจ ืขื ืืืคืืื ืืชืืกืคืช.
ืจืฆืฃ ืืกืคืจ ืืฉืืฉ ืขืืืจ ืจืฉืืืืช ืฉื ืืฆืจื ืืืืชื ืืืคืืืช ืืฉื ืืื. ืจืฆืฃ ืืกืคืจ ืืืืื ื-1 ืืืืก ืืขืจื ืืงืืื. ืืืื ื ืจืฆืฃ ืืกืคืจ ืืื ืืืืื 64 ืกืืืืืช, ืื ืืคืืขื ืื ืฆืจืื ืืืืชืงื ืืืืืื ืขื ืืกืคืจ ืืจืฉืืืืช ืฉื ืืชื ืืืคืืง ืชืื ืืืคืืช ืฉื ืืื ืืืช.
ืืคืืจืื ืฉื ืืืืื ืืืื ืขืฉืื ืืืืจืืืช ืืืืจ ืืืื ืจืืฉืื. ืงืืจื ืืกืจ ืืืื ืขืฉืื ืืชืืืช ืืืืข ืืืื ืืื ืืืง ืืืืืื. ืืกืืื ืืื ืฉืืจืื Redis ืชืืืืื ืืฉืืืืชืืช ืืืื ืืคื ืืืื. ืืืืืื ืฉืืืืื ืืฉืืื ืืืื ืฉืื ื ืืฆืจื ืืจืฉืืื, ืืืืจ ืืืคืฉืจ ืืืฆืข ืฉืืืืชืืช ืืืืืื ืืื. ื ืกืชืื ืขื ืืืืื ืกืคืฆืืคืืช ืืืฉืจ ื ืกืชืื ืขื ืืคืงืืื XRANGE.
ืื ืืกืืื ืืืฉืื ืืืฉืชืืฉ ืฆืจืื ืืฆืืื ืืืื ืืฉืื, ืืฉืจ, ืืืฉื, ืืฉืืื ืืืขืจืืช ืืืฆืื ืืช ืืืฉืื, ืื ื ืืื ืืืขืืืจ ืืืชื ืืคืงืืื XADD ืืืงืื * ืืคื ืฉืืืฆื ืืืื:
> XADD somestream 0-1 field value
0-1
> XADD somestream 0-2 foo bar
0-2
ืฉืื ืื ืฉืืืงืจื ืื ืขืืื ืืขืงืื ืืขืฆืื ืืืจ ืชืืกืคืช ืืืืื. ืืืืืื ืฉืื ื, ืืืืื ืืืื ืืืื ืืื "0-1", ืื ืฉืืคืงืืื ืื ืชืงืื ืืืื ืืืจ ืืฉืืื ืื ืงืื ื-"0-1".
> XADD somestream 0-1 foo bar
(error) ERR The ID specified in XADD is equal or smaller than the target stream top item
ืืกืคืจ ืจืฉืืืืช ืืื ืืจื
ืืคืฉืจ ืืงืื ืืช ืืกืคืจ ืืจืฉืืืืช ืืืจื ืคืฉืื ืขื ืืื ืฉืืืืฉ ืืคืงืืื XLEN. ืืืืืื ืฉืื ื, ืคืงืืื ืื ืชืืืืจ ืืช ืืขืจื ืืื:
> XLEN somestream
(integer) 2
ืฉืืืืชืืช ืืืื - XRANGE ื-XREVRANGE
ืืื ืืืงืฉ ื ืชืื ืื ืืคื ืืืื, ืขืืื ื ืืฆืืื ืฉื ื ืืืืื - ืืืชืืื ืืืกืืฃ ืฉื ืืืืื. ืืืืื ืืืืืืจ ืืืืื ืืช ืื ืืืืื ืืื, ืืืื ืืืืืืืช. ืืฉื ื ืื ืฉื ื ืืืืื ืืืืืืื "-" ื-"+", ืืืืืจ ืืืืื ืืงืื ืืืืชืจ (ืจืฉืืื ืจืืฉืื ื) ืืืืืื ืืืืชืจ (ืจืฉืืื ืืืจืื ื) ืืืจื. ืืืืืื ืืืื ืชืคืจื ืืช ืื ืขืจืื ืืืจื.
> XRANGE mystream - +
1) 1) 1518951480106-0
2) 1) "sensor-id"
2) "1234"
3) "temperature"
4) "19.8"
2) 1) 1518951482479-0
2) 1) "sensor-id"
2) "9999"
3) "temperature"
4) "18.2"
ืื ืจืฉืืื ืฉืืืืืจื ืืื ืืขืจื ืฉื ืฉื ื ืืืื ืืื: ืืืื ืืจืฉืืืช ืฆืืื ืืคืชื-ืขืจื. ืืืจ ืืืจื ื ืฉืืืื ืจืฉืืืืช ืงืฉืืจืื ืืืื. ืืื, ืื ื ืืืืืื ืืืงืฉ ืืืื ืฉื ืคืจืง ืืื ืืกืืื. ืขื ืืืช, ืื ื ืืืืืื ืืฆืืื ืืืงืฉื ืื ืืช ืืืืื ืืืื, ืืื ืจืง ืืช ืืื ืืื ืืงืก, ืชืื ืืฉืืืช ืืืืง ืืงืฉืืจ ื ืจืฆืฃ ืืกืคืจ. ืืืืง ืืืืฉืื ืฉื ืืืืื ืืืืืจ ืืืืืืืืช ืืืคืก ืืชืืืืช ืืืืื ืืืขืจื ืืืงืกืืืื ืืืคืฉืจื ืืกืืฃ ืืืืื. ืืืื ืืืืื ืืืฆื ื ืืชื ืืืงืฉ ืืืื ืฉื ืฉืชื ืืืคืืืช ืฉื ืืืช.
> XRANGE mystream 1518951480106 1518951480107
1) 1) 1518951480106-0
2) 1) "sensor-id"
2) "1234"
3) "temperature"
4) "19.8"
ืืฉ ืื ื ืจืง ืขืจื ืืื ืืืืื ืืื, ืืืื ืืืขืจืืืช ื ืชืื ืื ืืืืชืืืช ืืชืืฆืื ืืืืืืจืช ืืืืื ืืืืืช ืขืฆืืื. ืืืกืืื ืืื XRANGE ืชืืื ืืืคืฉืจืืช COUNT. ืขื ืืื ืฆืืื ืืืืืช, ื ืืื ืคืฉืื ืืงืื ืืช N ืืจืฉืืืืช ืืจืืฉืื ืืช. ืื ืื ืื ื ืฆืจืืืื ืืงืื ืืช ื-N ืืจืฉืืืืช ืืืืืช (ืืคืืคืื), ื ืืื ืืืฉืชืืฉ ืืืืื ืืืืจืื ืฉืืชืงืื, ืืืืืื ืืืชื ืจืฆืฃ ืืกืคืจ ืืืื ืืฉืื ืฉืื. ืืืื ื ืกืชืื ืขื ืื ืืืืืื ืืืื. ืื ืื ื ืืชืืืืื ืืืืกืืฃ 10 ืืืื ืืื ืขื XADD (ืืื ืื ืฉื-mystream ืืืจ ืืื ืืื ื-10 ืืืื ืืื). ืืื ืืืชืืื ืืืืืจืฆืื ืืงืื 2 ืืืื ืืื ืืื ืคืงืืื, ืื ืื ื ืืชืืืืื ืขื ืืืืื ืืืื ืืื ืขื COUNT ืฉืืื ื-2.
> XRANGE mystream - + COUNT 2
1) 1) 1519073278252-0
2) 1) "foo"
2) "value_1"
2) 1) 1519073279157-0
2) 1) "foo"
2) "value_2"
ืืื ืืืืฉืื ืืืืืจ ืขื ืฉื ื ืืืืื ืืื ืืืืื, ืขืืื ื ืืืืืจ ืืช ืืืืื ืืืืจืื ืฉืืชืงืื, ืืืืืจ 1519073279157-0, ืืืืืกืืฃ 1 ื ืจืฆืฃ ืืกืคืจ.
ืืืืื ืืืชืงืื, ืืืงืจื ืื 1519073279157-1, ืืืื ืืฉืืฉ ืืขืช ืืืจืืืื ื ืชืืืืช ืืืืื ืืืืฉ ืขืืืจ ืืงืจืืื ืืืื XRANGE:
> XRANGE mystream 1519073279157-1 + COUNT 2
1) 1) 1519073280281-0
2) 1) "foo"
2) "value_3"
2) 1) 1519073281432-0
2) 1) "foo"
2) "value_4"
ืืืืื. ืื ืืืจืืืืช XRANGE ืืื O(log(N)) ืืืืคืืฉ ืืืืืจ ืืื O(M) ืืืืืจืช M ืืืื ืืื, ืืื ืื ืฉืื ืืืืจืฆืื ืืืืจ. ืืคืืื, ืืืืฆืขืืช XRANGE ื ืืชื ืืืฆืข ืืืืจืฆืื ืืขืืื ืฉื ืืจืืื.
ืงืืืฆื XREVRANGE ืืื ืืืงืืื XRANGE, ืืื ืืืืืจ ืืช ืืจืืืืื ืืกืืจ ืืคืื:
> XREVRANGE mystream + - COUNT 1
1) 1) 1519073287312-0
2) 1) "foo"
2) "value_10"
ืฉืืื ืื ืฉืืคืงืืื XREVRANGE ืืืงื ืืจืืืื ืืื ืฉื ืืืื ืืืชืืื ืืืขืฆืืจ ืืกืืจ ืืคืื.
ืงืจืืืช ืขืจืืื ืืืฉืื ืืืืฆืขืืช XREAD
ืืขืชืื ืงืจืืืืช ืขืืื ืืืฉืืื ืฉื ืืจืฉืื ืืืจื ืืงืืืช ืืืืขืืช ืืืฉืืช ืืืื. ืืจืขืืื ืืื ืืืื ื ืจืื ืืืื ื-Redis Pub/Sub ืื ืืืกืืืช Redis List, ืืื ืืฉ ืืืืืื ืืืืชืืื ืืฉืืืืฉ ื-Redis Stream:
- ืื ืืืืขื ืืืฉื ื ืืกืจืช ืืื ืื ืื ืืืจืืจืช ืืืื. ืืชื ืืืืช ืื ืฉืื ื ืืจืฉืืืช Redis ืืกืืืช, ืฉืื ืืืืขื ืืืฉื ืชืืงืจื ืจืง ืขื ืืื ืื ืื ืืื.
- ืืขืื ืฉื-Redis Pub/Sub ืื ืืืืืขืืช ื ืฉืืืืช ืืืขืืื ืื ื ืืฉืืืช, ื-Stream ืื ืืืืืขืืช ื ืฉืืจืืช ืืื ืืืืืช ืืื (ืืื ืื ืืืงืื ืืืจื ืืืคืืจืฉ ืืืืืงื).
- Redis Stream ืืืคืฉืจ ืื ืืืืืื ืืื ืืืฉื ืืืืืขืืช ืืชืื ืืจื ืืื. ืื ืื ืกืคืฆืืคื ืืืื ืืจืืืช ืจืง ืืช ืืืกืืืจืืืช ืืืืืขืืช ืืืืฉืืช ืฉืื.
ืืชื ืืืื ืืืืจืฉื ืืฉืจืฉืืจ ืืืงืื ืืืืขืืช ืืืฉืืช ืืืืฆืขืืช ืืคืงืืื XREAD. ืื ืงืฆืช ืืืชืจ ืืกืืื ืืืฉืจ XRANGE, ืื ื ืชืืื ืชืืืื ืขื ืืืืืืืืช ืืคืฉืืืืช ืืืชืจ.
> XREAD COUNT 2 STREAMS mystream 0
1) 1) "mystream"
2) 1) 1) 1519073278252-0
2) 1) "foo"
2) "value_1"
2) 1) 1519073279157-0
2) 1) "foo"
2) "value_2"
ืืืืืื ืฉืืืขืื ืืฆืืื ืืืคืก ืื ืืืกื XREAD. ืฉืื ืื ืฉืืืคืฉืจืืช COUNT ืืื ืืืคืฆืืื ืืืช. ืืืขืฉื, ืืคืฉืจืืช ืืคืงืืื ืืืืืื ืื ืืจืฉืช ืืื ืืคืฉืจืืช STREAMS, ืฉืืฆืืื ืช ืจืฉืืื ืฉื ืืจืืื ืืื ืขื ืืืืื ืืืงืกืืืื ืืืชืืื. ืืชืื ื "STREAMS mystream 0" - ืื ืื ื ืจืืฆืื ืืงืื ืืช ืื ืืจืฉืืืืช ืฉื ืืจื mystream ืขื ืืืื ืืืื ื-"0-0". ืืคื ืฉื ืืชื ืืจืืืช ืืืืืืื, ืืคืงืืื ืืืืืจื ืืช ืฉื ืืฉืจืฉืืจ ืืืืืื ืฉืื ื ืืืืืื ืืืืจืฉื ืืืกืคืจ ืฉืจืฉืืจืื ืื ืืื ืืช. ื ืืื ืืืชืื, ืืืฉื, "STREAMS mystream otherstream 0 0". ืฉืืื ืื ืฉืืืจื ืืคืฉืจืืช STREAMS ืขืืื ื ืืกืคืง ืชืืืื ืืช ืฉืืืช ืื ืืืจืืื ืื ืืจืฉืื ืืจืง ืืืืจ ืืื ืจืฉืืืช ืืืืื.
ืืฆืืจื ืคืฉืืื ืื ืืคืงืืื ืื ืขืืฉื ืฉืื ืืืจ ืืืืื ืืืฉืืืื XRANGE. ืขื ืืืช, ืืืืจ ืืืขื ืืื ืืื ืฉืื ืื ื ืืืืืื ืืงืืืช ืืืคืื XREAD ืืคืงืืืช ืืกืืื, ืชืื ืฆืืื ืืืจืืืื ื BLOCK:
> XREAD BLOCK 0 STREAMS mystream $
ืืืืืื ืฉืืืขืื, ืืคืฉืจืืช BLOCK ืืืฉื ืืฆืืื ืช ืขื ืคืกืง ืืื ืฉื 0 ืืืคืืืช ืฉื ืืืช (ืืฉืืขืืช ืืืืจ ืืื ืืืชื ื ืืื ืืืืืช ืืื). ืืชืจื ืืื, ืืืงืื ืืืขืืืจ ืืช ืืืืื ืืจืืื ื-stream mystream, ืืืขืืจ ืืืื ืืืืื $. ืืืื ืืืืื ืื ืืืืจ ืืืช XREAD ืืืื ืืืฉืชืืฉ ืืืืื ืืืงืกืืืื ื-mystream ืืืืื. ืื ืฉื ืงืื ืจืง ืืืืขืืช ืืืฉืืช ืืื ืืืจืืข ืฉืืชืืื ื ืืืืืื. ืืืืื ืื ืืกืืืืื ืื ืืืื ืืคืงืืืช Unix "tail -f".
ืฉืืื ืื ืฉืืฉืืืืฉ ืืืคืฉืจืืช BLOCK ืื ืื ื ืื ืืืืจื ืฆืจืืืื ืืืฉืชืืฉ ืืืืื ืืืืืื $. ืื ืื ื ืืืืืื ืืืฉืชืืฉ ืืื ืืืื ืฉืงืืื ืืืจื. ืื ืืฆืืืช ืืืื ืืืคื ืืืงืฉื ืฉืื ื ืืืืคื ืืืืื ืืื ืืืกืื, ืืื ืืขืฉื ืืืช, ืืืจืช ืืื ืืืกืื.
ืืกืืื XREAD ืืืื ืื ืืืืืื ืืืกืคืจ ืฉืจืฉืืจืื ืืืช ืืืช, ืืชื ืจืง ืฆืจืื ืืฆืืื ืืช ืฉืืืชืืื. ืืืงืจื ืื, ืืคืงืืื ืชืืืืจ ืจืฉืืื ืฉื ืืืจื ืืจืืฉืื ืฉืงืืื ื ืชืื ืื. ืืื ืื ืืจืืฉืื ืฉื ืืกื ืขืืืจ ืฉืจืฉืืจ ื ืชืื ืืงืื ื ืชืื ืื ืชืืืื.
ืงืืืฆืืช ืฆืจืื ืืช
ืืืฉืืืืช ืืกืืืืืช, ืื ื ืจืืฆืื ืืืืืื ืืช ืืืฉืช ืืื ืื ืืืืืขืืช ืืชืื ืฉืจืฉืืจ ืืื. ืืืืื ืฉืื ืื ืืืื ืืืืืช ืฉืืืืฉื ืืื ืชืืจ ืืืืขืืช ืขื ืขืืืืื ืฉืืงืืื ืืืืขืืช ืฉืื ืืช ืืฉืจืฉืืจ, ืื ืฉืืืคืฉืจ ืขืืืื ืืืืขืืช ืืืืืื.
ืื ื ืืืืื ืฉืืฉ ืื ื ืฉืืืฉื ืื ืืืื C1, C2, C3 ืืฉืจืฉืืจ ืืืืื ืืืืขืืช 1, 2, 3, 4, 5, 6, 7, ืื ืืืืืขืืช ืืืืฉื ืืื ืืชืจืฉืื ืฉืืืื:
1 -> C1
2 -> C2
3 -> C3
4 -> C1
5 -> C2
6 -> C3
7 -> C1
ืืื ืืืฉืื ืืช ืืืคืงื ืืื, Redis Stream ืืฉืชืืฉ ืืืืฉื ืฉื ืงืจื Consumer Group. ืืืฉื ืื ืืืื ืืื ืื ืคืกืืืื, ืฉืืงืื ื ืชืื ืื ืืืจื, ืื ืืืขืฉื ืืืืฉ ืขื ืืื ืืกืคืจ ืื ืืืื ืืชืื ืงืืืฆื, ืชืื ืืชื ืขืจืืืืืช ืืกืืืืืช:
- ืื ืืืืขื ื ืืกืจืช ืืื ืื ืืืจ ืืชืื ืืงืืืฆื.
- ืืชืื ืงืืืฆื, ืื ืืืื ืืืืืื ืืฉืื, ืฉืืื ืืืจืืืช ืชืืืืช ืจืืฉืืืช. ืื ืื ืื ื ืืฉืจ ืืื ืืช ืืืงืืืฆื, ื ืืชื ืืืืืืจ ืืืชื ืืงืืืฆื ืืืืฆืขืืช ืืฉื ืืืืืืื ืฉืื.
- ืื ืงืืืฆืช ืฆืจืื ืื ืคืืขืืช ืืคื ืืืืฉื "ืืืืขื ืจืืฉืื ื ืฉืื ื ืงืจืื". ืืืฉืจ ืื ืื ืืืงืฉ ืืืืขืืช ืืืฉืืช, ืืื ืืืื ืืงืื ืจืง ืืืืขืืช ืฉืืขืืื ืื ื ืืกืจื ืืขืืจ ืืื ืื ืืืฉืื ืืงืืืฆื.
- ืืฉื ื ืคืงืืื ืืืฉืจ ืืืคืืจืฉ ืฉืืืืืขื ืขืืืื ืืืฆืืื ืขื ืืื ืืื ืื. ืขื ืฉืชืงืจื ืคืงืืื ืื, ืืืืืขื ืืืืืงืฉืช ืชืืฉืืจ ืืืฆื "ืืืืชื ื".
- ืืชืื ืงืืืฆืช ืืฆืจืื ืื, ืื ืื ืื ืืืื ืืืงืฉ ืืืกืืืจืืืช ืืืืขืืช ืฉื ืืกืจื ืื, ืื ืืจื ืืืคืื (ืืกืืืืก "ืืืืชื ื")
ืืืืื ืืกืืื, ืืฆื ืืงืืืฆื ืืืื ืืืื ืืืื ืืืืื ืืืืคื ืืื:
+----------------------------------------+
| consumer_group_name: mygroup
| consumer_group_stream: somekey
| last_delivered_id: 1292309234234-92
|
| consumers:
| "consumer-1" with pending messages
| 1292309234234-4
| 1292309234232-8
| "consumer-42" with pending messages
| ... (and so forth)
+----------------------------------------+
ืขืืฉืื ืืืืข ืืืื ืืืืืจ ืืช ืืคืงืืืืช ืืขืืงืจืืืช ืฉื ืงืืืฆืช ืืฆืจืื ืื, ืืืืืจ:
- XGROUP ืืฉืืฉ ืืืฆืืจื, ืืจืก ืื ืืืื ืงืืืฆืืช
- XREADGROUP ืืฉืืฉ ืืงืจืืืช ืืจื ืืจื ืืงืืืฆื
- XACK - ืคืงืืื ืื ืืืคืฉืจืช ืืื ืื ืืกืื ืืช ืืืืืขื ืืขืืืื ืืืฆืืื
ืืงืืช ืงืืืฆืช ืฆืจืื ืื
ืืืื ื ื ืื ืฉื-mystream ืืืจ ืงืืื. ืืื ืคืงืืืช ืืฆืืจืช ืืงืืืฆื ืชืืจืื ืื:
> XGROUP CREATE mystream mygroup $
OK
ืืขืช ืืฆืืจืช ืงืืืฆื, ืขืืื ื ืืืขืืืจ ืืืื, ืฉืืชืืื ืืื ื ืืงืืืฆื ืชืงืื ืืืืขืืช. ืื ืื ืื ื ืจืง ืจืืฆืื ืืงืื ืืช ืื ืืืืืขืืช ืืืืฉืืช, ืื ื ืืื ืืืฉืชืืฉ ืืืืื ืืืืืื $ (ืืื ืืืืืื ืฉืื ื ืืืขืื). ืื ืชืฆืืื 0 ืืืงืื ืืืื ืืืืื, ืื ืื ืืืืืขืืช ืืฉืจืฉืืจ ืืืื ืืืื ืืช ืืงืืืฆื.
ืืขืช ืืืืจ ืืฆืืจืช ืืงืืืฆื, ืื ื ืืืืืื ืืืชืืื ืืื ืืงืจืื ืืืืขืืช ืืืืฆืขืืช ืืคืงืืื XREADGROUP. ืคืงืืื ืื ืืืื ืืืื ื XREAD ืืชืืื ืืืคืฉืจืืช ื-BLOCK ืืืืคืฆืืื ืืืช. ืขื ืืืช, ืืฉื ื ืืคืฉืจืืช GROUP ื ืืจืฉืช ืฉืชืืื ืืฉ ืืฆืืื ืขื ืฉื ื ืืจืืืื ืืื: ืฉื ืืงืืืฆื ืืฉื ืืื ืื. ืื ืืืคืฉืจืืช COUNT ื ืชืืืช.
ืืคื ื ืงืจืืืช ืืฉืจืฉืืจ, ืืื ื ืื ืืก ืฉื ืืื ืืืืขืืช:
> XADD mystream * message apple
1526569495631-0
> XADD mystream * message orange
1526569498055-0
> XADD mystream * message strawberry
1526569506935-0
> XADD mystream * message apricot
1526569535168-0
> XADD mystream * message banana
1526569544280-0
ืขืืฉืื ืืืื ื ื ืกื ืืงืจืื ืืช ืืืจื ืืื ืืจื ืืงืืืฆื:
> XREADGROUP GROUP mygroup Alice COUNT 1 STREAMS mystream >
1) 1) "mystream"
2) 1) 1) 1526569495631-0
2) 1) "message"
2) "apple"
ืืคืงืืื ืฉืืขืื ืงืืจืืช ืืืื ืืืืื ืืืืงืื:
"ืื ื, ืืื ืื ืืืืก, ืืืจื ื-mygroup, ืจืืฆื ืืงืจืื ืืืืขื ืืืช ื-mystream ืฉืืขืืื ืื ื ืืกืจื ืืืฃ ืืื ืืคื ื ืื."
ืืื ืคืขื ืฉืื ืื ืืืฆืข ืคืขืืื ืืงืืืฆื, ืขืืื ืืกืคืง ืืช ืฉืื, ืืืืืืช ืืช ืขืฆืื ืืืืคื ืืืืืื ืืชืื ืืงืืืฆื. ืืฉ ืขืื ืคืจื ืืื ืืฉืื ืืืื ืืคืงืืื ืืขืื - ืืืืื ืืืืืื ">". ืืืืื ืืืืืื ืืื ืืกื ื ืืืืขืืช ืืืฉืืืจ ืจืง ืืช ืืื ืฉืืขืืื ืื ื ืืกืจื ืงืืื ืืื.
ืืื ืื, ืืืงืจืื ืืืืืืื, ื ืืชื ืืฆืืื ืืืื ืืืืชื ืืืื 0 ืื ืื ืืืื ืืืงื ืืืจ. ืืืงืจื ืื ืืคืงืืื XREADGROUP ืืืืืจ ืื ืืืกืืืจืื ืฉื ืืืืขืืช ืืกืืืืก "ืืืืชื ื" ืฉื ืืกืจื ืืื ืื ืฉืฆืืื (ืืืืก) ืื ืขืืืื ืื ืงืืืื ืืืฉืืจ ืืืืฆืขืืช ืืคืงืืื XACK.
ืื ื ืืืืืื ืืืืืง ืืชื ืืืืช ืื ืขื ืืื ืฆืืื ืืืืื ืฉื ืืืืื 0, ืืื ืืคืฉืจืืช COUNT. ืื ื ืคืฉืื ื ืจืื ืืืืขื ืืืช ืืืชืื ื, ืืืืืจ, ืืืืขืช Apple:
> XREADGROUP GROUP mygroup Alice STREAMS mystream 0
1) 1) "mystream"
2) 1) 1) 1526569495631-0
2) 1) "message"
2) "apple"
ืขื ืืืช, ืื ื ืืฉืจ ืฉืืืืืขื ืขืืืื ืืืฆืืื, ืืื ืื ืชืืฆื ืขืื:
> XACK mystream mygroup 1526569495631-0
(integer) 1
> XREADGROUP GROUP mygroup Alice STREAMS mystream 0
1) 1) "mystream"
2) (empty list or set)
ืขืืฉืื ืชืืจื ืฉื ืืื ืืงืจืื ืืฉืื:
> XREADGROUP GROUP mygroup Bob COUNT 2 STREAMS mystream >
1) 1) "mystream"
2) 1) 1) 1526569498055-0
2) 1) "message"
2) "orange"
2) 1) 1526569506935-0
2) 1) "message"
2) "strawberry"
ืืื, ืืืจ ื-mygroup, ืืืงืฉ ืื ืืืชืจ ืืฉืชื ืืืืขืืช. ืืคืงืืื ืืืืืืช ืจืง ืขื ืืืืขืืช ืฉืื ื ืืกืจื ืขืงื ืืืืื ืืืืืื ">". ืืคื ืฉืืชื ืืืื ืืจืืืช, ืืืืืขื "ืชืคืื" ืื ืชืืฆื ืืืืืื ืฉืืื ืืืจ ื ืืกืจื ืืืืืก, ืื ืืื ืืงืื "ืชืคืื" ื"ืชืืช".
ืืืจื ืื, ืืืืก, ืืื ืืื ืื ืื ืืืจ ืืงืืืฆื ืืืืืื ืืงืจืื ืืืืขืืช ืฉืื ืืช ืืืืชื ืืจื. ืื ืืืืืื ืื ืืงืจืื ืืช ืืืืกืืืจืื ืฉื ืืืืขืืช ืื ืืขืืืืืช ืื ืืกืื ืืืืขืืช ืืขืืืืืช.
ืืฉ ืืืืืจ ืืื ืืืจืื:
- ืืจืืข ืฉืืื ืื ืืืฉืื ืืช ืืืืืขื ืืคืงืืื XREADGROUP, ืืืืขื ืื ืขืืืจืช ืืืฆื "ืืืืชื ื" ืืืื ืืืงืฆืืช ืืืืชื ืื ืื ืกืคืฆืืคื. ืื ืืืื ืืืจืื ืืงืืืฆื ืื ืืืืื ืืงืจืื ืืืืขื ืื.
- ืื ืืืื ื ืืฆืจืื ืืืืืืืืช ืขื ืืืืืจ ืจืืฉืื, ืืื ืฆืืจื ืืืฆืืจ ืืืชื ืืืคืืจืฉ.
- ืขื XREADGROUP ืืชื ืืืื ืืงืจืื ืืืืขืืช ืืืกืคืจ ืฉืจืฉืืจืื ืฉืื ืื ืื-ืืื ืืช, ืืืื ืืื ืฉืื ืืขืืื ืขืืื ืืืฆืืจ ืชืืืื ืงืืืฆืืช ืขื ืืืชื ืฉื ืขืืืจ ืื ืฉืจืฉืืจ ืืืืฆืขืืช XGROUP
ืืชืืืฉืฉืืช ืืืืจ ืืืฉืืื
ืืื ืื ืืืื ืืืชืืืฉืฉ ืืืืฉื ืืืงืจืื ืืืืฉ ืืช ืจืฉืืืช ืืืืืขืืช ืฉืื ืขื ืืกืืืืก "ืืืืชื ื". ืขื ืืืช, ืืขืืื ืืืืืชื, ืื ืืืื ืขืืืืื ืืกืืคื ืฉื ืืืจ ืืืืืฉื. ืื ืงืืจื ืืืืืขืืช ืืชืงืืขืืช ืฉื ืื ืื ืื ืืื ืื ืื ืืฆืืื ืืืชืืืฉืฉ ืืชืงืื?
Consumer Group ืืฆืืขื ืชืืื ื ืืืฉืืฉืช ืืืืืง ืืืงืจืื ืืืื - ืืืฉืจ ืฆืจืื ืืฉื ืืช ืืช ืืืขืืื ืฉื ืืืืืขืืช.
ืืืืจ ืืจืืฉืื ืฉืืชื ืฆืจืื ืืขืฉืืช ืืื ืืงืจืื ืืคืงืืื XPENDING, ืืืฆืื ืืช ืื ืืืืืขืืช ืืงืืืฆื ืขื ืืกืืืืก "ืืืืชื ื". ืืฆืืจืชื ืืคืฉืืื ืืืืชืจ, ืืคืงืืื ื ืงืจืืช ืขื ืฉื ื ืืจืืืื ืืื ืืืื: ืฉื ืืฉืจืฉืืจ ืืฉื ืืงืืืฆื:
> XPENDING mystream mygroup
1) (integer) 2
2) 1526569498055-0
3) 1526569506935-0
4) 1) 1) "Bob"
2) "2"
ืืฆืืืช ืืฆืื ืืช ืืกืคืจ ืืืืืขืืช ืืื ืืขืืืืืช ืขืืืจ ืื ืืงืืืฆื ืืขืืืจ ืื ืื ืื. ืืฉ ืื ื ืจืง ืืืื ืขื ืฉืชื ืืืืขืืช ืืืฆืืืช ืืืคื ืื ืืืืืขื ืืืืืื ืฉืืืืก ืืืงืฉื ืืืฉืจื XACK.
ืื ื ืืืืืื ืืืงืฉ ืืืืข ื ืืกืฃ ืืืืฆืขืืช ืืืขืื ืื ื ืืกืคืื:
XPENDING {key} {groupname} [{start-id} {end-id} {count} [{consumer-name}]]
{start-id} {end-id} - ืืืื ืืืืื (ืชืืื ืืืฉืชืืฉ ื-"-" ื-"+")
{count} - ืืกืคืจ ื ืืกืืื ืืช ืืืกืืจื
{consumer-name} - ืฉื ืืงืืืฆื
> XPENDING mystream mygroup - + 10
1) 1) 1526569498055-0
2) "Bob"
3) (integer) 74170458
4) (integer) 1
2) 1) 1526569506935-0
2) "Bob"
3) (integer) 74170458
4) (integer) 1
ืืขืช ืืฉ ืื ื ืคืจืืื ืขืืืจ ืื ืืืืขื: ืืืื, ืฉื ืื ืื, ืืื ืกืจืง ืืืืคืืืช ืฉื ืืืช ืืืืกืืฃ ืืกืคืจ ื ืืกืืื ืืช ืืืกืืจื. ืืฉ ืื ื ืฉืชื ืืืืขืืช ืืืื ืืื ืื ืืื ืคืขืืืืช ืืืฉื 74170458 ืืืคืืืช ืืฉื ืืื, ืืขืจื 20 ืฉืขืืช.
ืฉืืื ืื ืฉืืฃ ืืื ืื ืืื ืข ืืืืชื ื ืืืืืง ืื ืืื ืชืืื ืืืืืขื ืคืฉืื ืขื ืืื ืฉืืืืฉ XRANGE.
> XRANGE mystream 1526569498055-0 1526569498055-0
1) 1) 1526569498055-0
2) 1) "message"
2) "orange"
ืื ืื ื ืจืง ืฆืจืืืื ืืืืืจ ืขื ืืืชื ืืืื ืคืขืืืื ืืืืขืื ืื. ืขืืฉืื, ืืฉืืฉ ืื ื ืจืขืืื ืืกืืื, ืืืืก ืขืฉืืื ืืืืืื ืฉืืืจื 20 ืฉืขืืช ืฉื ืืฉืืชื, ืืื ืื ืจืื ืื ืืชืืืฉืฉ, ืืื ืืืื ืืืฆืข ืฉืืืืชืืช ืืืืืขืืช ืืืื ืืืืืฉ ืืช ืขืืืืื ืขืืืจ ืืื. ืืฉื ืื ืื ื ืืฉืชืืฉืื ืืคืงืืื XCLAIM:
XCLAIM {key} {group} {consumer} {min-idle-time} {ID-1} {ID-2} ... {ID-N}
ืืืืฆืขืืช ืคืงืืื ืื, ื ืืื ืืงืื ืืืืขื "ืืจื" ืฉืขืืืื ืื ืขืืืื ืขื ืืื ืฉืื ืื ืืืขืืื ื-{consumer}. ืขื ืืืช, ืื ื ืืืืืื ืื ืืกืคืง ืืื ืกืจืง ืืื ืืืื {min-idle-time}. ืื ืขืืืจ ืืื ืืข ืืฆื ืฉืื ืฉื ื ืืงืืืืช ืื ืกืื ืืฉื ืืช ืื ืืื ืืช ืืช ืืืขืืื ืฉื ืืืชื ืืืืขืืช:
Client 1: XCLAIM mystream mygroup Alice 3600000 1526569498055-0
Clinet 2: XCLAIM mystream mygroup Lora 3600000 1526569498055-0
ืืืงืื ืืจืืฉืื ืืืคืก ืืช ืืื ืืืฉืืชื ืืืืืื ืืช ืืื ื ืืืฉืืืืื. ืื ืืืงืื ืืฉื ื ืื ืืืื ืืืงืฉ ืืืช.
> XCLAIM mystream mygroup Alice 3600000 1526569498055-0
1) 1) 1526569498055-0
2) 1) "message"
2) "orange"
ืืืืืขื ื ืชืืขื ืืืฆืืื ืขื ืืื ืืืืก, ืฉืืืืื ืืขืช ืืขืื ืืช ืืืืืขื ืืืืฉืจ ืืืชื.
ืืืืืืื ืืขืื, ื ืืชื ืืจืืืช ืฉืืงืฉื ืืืฆืืืช ืืืืืจื ืืช ืชืืื ืืืืืขื ืขืฆืื. ืขื ืืืช, ืืื ืฆืืจื ืืื. ื ืืชื ืืืฉืชืืฉ ืืืคืฉืจืืช JUSTID ืืืืืจืช ืืืื ืืืืขืืช ืืืื. ืื ืฉืืืืฉื ืื ืืื ื ืืขืื ืืื ืืคืจืื ืืืืืขื ืืืขืื ืืื ืืืืืืจ ืืช ืืืฆืืขื ืืืขืจืืช.
ืืืคืง ืืฉืืืืื
ืืืื ื ืฉืืชื ืจืืื ืืคืื XPENDING ืืื ืืกืคืจ ืืืกืืจืืช ืฉื ืื ืืืืขื. ืืื ื ืืื ืืืืื ืืฉืชื ืืจืืื: ืืืฉืจ ืืืืขื ืืชืืงืฉืช ืืืฆืืื ืืืืฆืขืืช XCLAIM ืื ืืืฉืจ ื ืขืฉื ืฉืืืืฉ ืืฉืืื XREADGROUP.
ืื ื ืืจืืื ืฉืืืืขืืช ืืกืืืืืช ืืืขืืจืืช ืืกืคืจ ืคืขืืื. ืืขืืงืจ ืฉืื ืืืืืขืืช ืืขืืืื ืืกืืคื ืฉื ืืืจ. ืืคืขืืื ืืชืจืืฉืืช ืืขืืืช ืืขืช ืขืืืื ืืืืขื ืืืื ืฉืืืืืขื ืขืฆืื ืคืืืื, ืื ืฉืขืืืื ืืืืืขืืช ืืืจื ืืฉืืืื ืืงืื ืืืืคื. ืืืงืจื ืื, ืขืืื ืืืชืืจืจ ืฉืืฃ ืืื ืื ืืืื ืืขืื ืืช ืืืืืขื ืืื. ืืืืืื ืฉืืฉ ืื ื ืืื ื ื ืืกืืื ืืช ืืกืืจื, ืื ื ืืืืืื ืืืฉืชืืฉ ืืืื ื ืื ืืื ืืืืืช ืืฆืืื ืืืื. ืืื, ืืจืืข ืฉืกืคืืจืช ืืืกืืจื ืืืืขื ืืืกืคืจ ืืืืื ืฉืฆืืื ืช, ืื ืจืื ืฉืืืื ืืื ืืืชืจ ืืฉืื ืืืืขื ืืื ืืฉืจืฉืืจ ืืืจ ืืืฉืืื ืืืืขื ืืื ืื ืืืขืจืืช.
ืืฆื ืืื
ืงืืืฆื XINFO ืืฉืืฉ ืืืงืฉืช ืืืืข ืฉืื ื ืขื ืฉืจืฉืืจ ืืงืืืฆืืชืื. ืืืืืื, ืคืงืืื ืืกืืกืืช ื ืจืืืช ืื:
> XINFO STREAM mystream
1) length
2) (integer) 13
3) radix-tree-keys
4) (integer) 1
5) radix-tree-nodes
6) (integer) 2
7) groups
8) (integer) 2
9) first-entry
10) 1) 1524494395530-0
2) 1) "a"
2) "1"
3) "b"
4) "2"
11) last-entry
12) 1) 1526569544280-0
2) 1) "message"
2) "banana"
ืืคืงืืื ืืืขืื ืืฆืืื ืืืืข ืืืื ืขื ืืืจื ืฉืฆืืื. ืขืืฉืื ืืืืื ืงืฆืช ืืืชืจ ืืืจืืืช:
> XINFO GROUPS mystream
1) 1) name
2) "mygroup"
3) consumers
4) (integer) 2
5) pending
6) (integer) 2
2) 1) name
2) "some-other-group"
3) consumers
4) (integer) 1
5) pending
6) (integer) 0
ืืคืงืืื ืืืขืื ืืฆืืื ืืืืข ืืืื ืขืืืจ ืื ืืงืืืฆืืช ืฉื ืืฉืจืฉืืจ ืฉืฆืืื
> XINFO CONSUMERS mystream mygroup
1) 1) name
2) "Alice"
3) pending
4) (integer) 1
5) idle
6) (integer) 9104628
2) 1) name
2) "Bob"
3) pending
4) (integer) 1
5) idle
6) (integer) 83841983
ืืคืงืืื ืืืขืื ืืฆืืื ืืืืข ืขืืืจ ืื ืืื ืืืื ืฉื ืืืจื ืืืงืืืฆื ืฉืฆืืื ื.
ืื ืฉืืืช ืืช ืชืืืืจ ืืคืงืืื, ืคืฉืื ืืงืฉ ืขืืจื ืืืคืงืืื ืขืฆืื:
> XINFO HELP
1) XINFO {subcommand} arg arg ... arg. Subcommands are:
2) CONSUMERS {key} {groupname} -- Show consumer groups of group {groupname}.
3) GROUPS {key} -- Show the stream consumer groups.
4) STREAM {key} -- Show information about the stream.
5) HELP -- Print this help.
ืืืืืช ืืืื ืืจื
ืืืฉืืืื ืจืืื ืื ืจืืฆืื ืืืกืืฃ ื ืชืื ืื ืืชืื ืืจื ืื ืฆื. ืืขืชืื ืงืจืืืืช ืฉืืืืฉื ืืืคืฉืจ ืืกืคืจ ืืงืกืืืื ืฉื ืืืืขืืช ืืื ืฉืจืฉืืจ. ืืืงืจืื ืืืจืื, ืืืื ืืืขืืืจ ืืช ืื ืืืืืขืืช ืืฉืจืฉืืจ ืืืืืจ ืงืืืข ืืืจ ืืืฉืจ ืืืืขืื ืืืืื ืืฉืจืฉืืจ ืฉืฆืืื. ืืชื ืืืื ืืืืืื ืืช ืืืื ืืืจื ืืืืฆืขืืช ืืคืจืืืจ MAXLEN ืืคืงืืื XADD:
> XADD mystream MAXLEN 2 * value 1
1526654998691-0
> XADD mystream MAXLEN 2 * value 2
1526654999635-0
> XADD mystream MAXLEN 2 * value 3
1526655000369-0
> XLEN mystream
(integer) 2
> XRANGE mystream - +
1) 1) 1526654999635-0
2) 1) "value"
2) "2"
2) 1) 1526655000369-0
2) 1) "value"
2) "3"
ืืขืช ืฉืืืืฉ ื-MAXLEN, ืจืฉืืืืช ืืฉื ืืช ื ืืืงืืช ืืืืืืืืช ืืฉืื ืืืืขืืช ืืืืจื ืืืืืจ, ืื ืฉืืืจื ืืฉ ืืืื ืงืืืข. ืขื ืืืช, ืืืืื ืืืงืจื ืื ืืื ื ืืชืจืืฉ ืืฆืืจื ืืืขืืื ืืืืชืจ ืืืืืจืื Redis. ืืชื ืืืื ืืฉืคืจ ืืช ืืืฆื ืืืืคื ืืื:
XADD mystream MAXLEN ~ 1000 * ... entry fields here ...
ืืืจืืืื ื ~ ืืืืืื ืฉืืืขืื ืืืืจ ืฉืื ืื ื ืื ืืืืจื ืฆืจืืืื ืืืืืื ืืช ืืืจื ืืืจื ืืขืจื ืืกืืื. ืืืืืื ืฉืื ื, ืื ืืืื ืืืืืช ืื ืืกืคืจ ืืืื ืื ืฉืืื ื-1000 (ืืืืืื, 1000, 1010 ืื 1030). ืจืง ืฆืืื ื ืืืคืืจืฉ ืฉืื ืื ื ืจืืฆืื ืฉืืืจื ืฉืื ื ืืืืกื ืืคืืืช 1000 ืจืฉืืืืช. ืื ืืืคื ืืช ื ืืืื ืืืืืจืื ืืืจืื ืืืชืจ ืืขืื ืืชืื Redis.
ืืฉ ืื ืฆืืืช ื ืคืจื XTRIM, ืฉืขืืฉื ืืช ืืืชื ืืืืจ:
> XTRIM mystream MAXLEN 10
> XTRIM mystream MAXLEN ~ 10
ืืืกืื ืืฉืืคืื ืืชืืฉืืื
Redis Stream ืืฉืืืคื ืืืืคื ืืกืื ืืจืื ื ืืฆืืชื ืขืืืื ืื ืฉืืจ ืืงืืฆืื ืืื AOF (ืชืฆืืื ืฉื ืื ืื ืชืื ืื) ื-RDB (ืืืื ืฉื ืื ืคืขืืืืช ืืืชืืื). ืื ืฉืืคืื ืฉื ืืฆื ืงืืืฆืืช ืฆืจืื ืื ื ืชืื. ืืื, ืื ืืืืขื ื ืืฆืืช ืืืฆื "ืืืืชื ื" ืืฆืืืช ืืจืืฉื, ืื ืืฆืืชื ืืขืื ืชืืื ืืืืืขื ืื ืืืชื ืกืืืืก.
ืืกืจืช ืืืื ืืื ืืืืืื ืืืจื
ืืฉ ืคืงืืื ืืืืืืช ืืืืืงืช ืืืืขืืช XDEL. ืืคืงืืื ืืงืืืช ืืช ืฉื ืืฉืจืฉืืจ ืืืืจืื ืืช ืืืื ืืืืืขื ืฉืืฉ ืืืืืง:
> XRANGE mystream - + COUNT 2
1) 1) 1526654999635-0
2) 1) "value"
2) "2"
2) 1) 1526655000369-0
2) 1) "value"
2) "3"
> XDEL mystream 1526654999635-0
(integer) 1
> XRANGE mystream - + COUNT 2
1) 1) 1526655000369-0
2) 1) "value"
2) "3"
ืืขืช ืฉืืืืฉ ืืคืงืืื ืื, ืขืืื ืืงืืช ืืืฉืืื ืฉืืืืืจืื ืืคืืขื ืื ืืฉืืืจืจ ืืื.
ืืจืืื ืืืืจื ืืคืก
ืืืืื ืืื ืืจืืื ืืืื ื ื ืชืื ืื ืืืจืื ืฉื Redis ืืื ืฉืืืฉืจ ืืืื ื ื ืชืื ืื ืืืจืื ืืื ืืืชืจ ืืืื ืืื ืืชืืื, ืืชืืคืขืช ืืืืื, ืืื ื ืื ืชืื ืื ืขืฆืื ืืืกืจ ืืืืืืจืื. ืื, ืืืฉื, ืืกื ืืืืืื ืืืกืจ ืืืืืืื ืืืฉืจ ืืงืจืืื ZREM ืชืกืืจ ืืช ืืืืื ื ืืืืจืื. ืืืงืื ืืืช, ืืืืื ืจืฉืืื ืืืืฉืืจ ืืืืืจืื ืื ืืืื ืฉืืืื ืืคื ืื ืืืื ืืื ืืืฉืื.
ืืกืงื ื
Redis Stream ืืืืืืื ืืืฆืืจืช ืืชืืืืื ืฉื ืืืืขืืช, ืชืืจื ืืืืขืืช, ืจืืฉืื ืืืืื ืืืขืจืืืช ืฆ'ืื ืืฉืืืจืช ืืืกืืืจืื.
ืืื ืฉืืืจืชื ืคืขื
ืืงืืจ: www.habr.com