Redis Stream á áŹá˛áľ ááľáĽ á¨áľáŞáľ 5.0 áá á¨á°ááá á á˛áľ á¨á áĽáľáľáŤááľ á¨ááἠá áááľ ááá˘
á á
áá°-ááłáĽ ᣠRedis Stream ááááŚá˝á áá¨á á¨áá˝áá áľ áááá ááᢠáĽáŤááłááą áá¤áľ áአáá፠á ááᢠá ááŁáŞááľ ááłáááŤá á áŤáľ-á°á ááá áŤá áĽá á¨áá áá
á°áá áŤáŤáľáłáᢠáľááá
ᣠá áá áĽááľ á¨áááἠááááŚá˝á áá á¨á
ááá áá° áĽá¨áą áĽáá°áᣠá á˛áľ áá¨á ááá á áľá˝ááá
ᣠáá áĽáá° áŠáááľ "á
áŤáľ -f" áľááá á¨áá áááá á ááĽáŚ á á˛áľ ááἠá˛á áĽá
á á¨áś ááááᢠáĽá á°áá áá˝ áĽááľ á ááľ áłááአáááá˝á á á ááľ áá ááá ἠáĽáá°áá˝á áá áĽá á°áá áá˝ á á ááľ áá áá ááłáἠáĽáá°áá˝á áἠáá áá˘
á¨á á˛áąá á¨áá¨á á áááľ áááá áĽá
áá˝ ááá¨áłáľ á¨Redis Streamá á°ááŁá á á¨áá á¨áá°áááľá á¨á¨áĽá áá á¨Redis á ááááŽá˝á á ááĽááľ áĽáááá¨áłá¸áá˘
Redis PUB/SUB
Redis Pub/Sub á ááá áá áá¨ááťá ááľáĽ á áľááľá á¨á°á°áŤ ááá á¨áááĽááľ ááááŞáŤ áľáááľ ááᢠáááᣠáááááľ áá áŤáľá¨ááááĄ-
- á áłáá á áá ááááŤáľ áŤáá°áłáŤ áááá á°áááá˘áášá áŤáŁáá˘
- á áłáá á¨ááá á°áááá˘áášá áľáááá á áľáŤáť ááá á áá áľá˘
- áá¨á á¨á°á°áŤá á á áá ááĽááľ á¨áłá°á á áłá á°áááá˘áášá á áľáŤ áá ááŤá áá˝ááá˘
- áá áŤá á á°áááá˘áá˝ áĽáá°á°á¨áą áĽá áá á áááĽááľ á áá áŤá á ááĽááľ ááŤááľ áĽáá°áťá áááĽááą á¨áłá°á á áá áá˛áŤáá á¨á áłáá ááľ áá°á¨ááá˘
- ááá á°áááá˘áá˝ áááĽááąá á á°ááłáłá áá ááá áá. á°áááá˘áá˝ áŤáłá¸á á áá ááááľ á°ááłáłá áááĽááľ á ááľáŹáľ á á°á á°á¨á°á áá ááľáááľ á ááŁá¸áá˘
- á°áááᢠáááĽááľá á á°áłáŤ áááł áá¨áááá ááá¨ááἠá áĽáŽ á¨á°á°áŤ áá´ á¨ááᢠá ááľ á¨á°áá áááľ á°áááᢠáááĽááľ á¨á°áá á áĽá á áá°áľ áá áĽáŤá á˘á áá˝ á áłáá áľááĽáą á áŤáá áá˘
Redis áááá
Redis List á¨ááŁáĽ áľáááá˝á áááľá á¨áá°áá á¨ááἠááá á áá. á¨áááአááááŞáŤ ááá áá¨á¨áť áá áááááśá˝á áá¨á áĽá ááá ἠáá˝áá. á áá ááá á áá á áááľá¨áľ áá°á¨ááá áľáááľá áĽáŠ ááá ááá áá¨á ááľá¨á áá˝áá, áĽá á á áĽááááš áááłáá˝ áá á á áááá. á¨Redis Pub/Sub áá áá ááŠááśá˝áĄ-
- áááĽááą áá ááľ á°áá á á°áááá. á¨ááááŞáŤá á¨á°áá á á¨áłáá° á°áá á ááááŞáŤ áááĄá ááá ááá˘
- ááááľ ááĽáŤááłááą áááĽááľ á¨ááŁáĽ ááááá á áŤáą áááá á áá áľá˘ áááá áľá á°áá áá˝ ááá á áŤáá áá˘
- á ááľ á°á áĽáľáŞáŤááĽáá¸á ááá á ááá áĽáľáŞá°ááá¸á áľá¨áľ áááĽááśá˝ ááááŁáᢠáá¨áá áá° á˛áľá áááá°áľ á¨áŹá˛áľ á ááááá áŤáááŠáľ á¨áľáááą á áľá°áááááľ á á¨áá°á áááł áá¨ááŤáá˘
á¨áĽá¨áľ ááá˘áŤ
áá° áĽá¨áľ ááá˘áŤ á áá¨á áá
áĄáľá XADD áá° áĽá¨áą á á˛áľ áá¤áľ áá¨ááŤáᢠáááἠááĽá¨ááá áĽáť áłááá á ááľ ááá á¨á፠á áá á¨ááá-áĽá´áľ áĽááśá˝á áŤáŤáľáłáᢠáľááá ᣠáĽáŤááłááą áá¤áľ á áľááľá á¨á°ááᨠáĽá á¨CSV ááá ááá áá áááľááá˘
> XADD mystream * sensor-id 1234 temperature 19.8
1518951480106-0
á¨áá áŁáá ááłá ááľáĽ áááľ ááľáŽá˝á á áľá (ááá) "mystream": "sensor-id" áĽá "temperature" ᨠ"1234" áĽá "19.8" áĽá´áśá˝ áá á á á°á á°á¨á°á áĽáá¨ááŤáá. áĽáá° ááá°áá áá᪠áĽá´áľ ᣠáľááá áááá˘áŤ á¨ááá°áĽ áá፠áááľáłá - áá áá፠á áĽá¨áą ááľáĽ áŤááá áĽáŤááłááąá áá¤áľ á áአáááł áááŤáᢠáááᣠá áá á ááŁá * á áááá ááááŤáąá Redis á á˛áľ ááłáá፠áĽáá˛áŤááá áá áĽááááááᢠáĽáŤááłááą á á˛áľ ááłáá፠áá¨ááŤáᢠáľááá ᣠáĽáŤááłááą á á˛áľ áá¤áľ á¨áá°ááľ áá¤áśá˝ á ááťá á¨á áŤá áá፠ááá¨ááá˘
áá፠á áá¸áľ
á¨ááá˘áŤ ááłáááŤá á áľáĽáá á°áááˇá XADDáááľ áááá˝á áŤáá áá-
{millisecondsTime}-{sequenceNumber}
ááá°á¨ááśá˝ áá - á¨áŠáááľ áá á ááá°á¨ááśá˝ (á¨áŹá˛áľ á áááá áá)ᢠááá ááᣠá áá áŤáá áá á¨ááłáá áá¨áť áá áá á°ááłáłá ááá áŤáá° á¨ááᣠá¨áá°áá áá¨áť á¨áá áá
á°á áĽá
á áá ááááᢠáľááá
ᣠá¨á áááአáá áá° áá á¨á°ááá°áŁ á á˛áą á᪠á ááá á¨áá¨áá ááĽá¨áąá áĽáá°áŤá áááŤáá˘
á á°á á°á¨á°á ááĽá á á°ááłáłá ááá°á¨ááľ ááľáĽ áá°áá አááááŚá˝ áĽá á áá áááá. á á°á á°á¨á°á ááĽá á¨ááłáá áá¤áľ áá á˛ááťá¸á á 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(áá(N)) ááááá áĽá O(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 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 ááá°á¨ááśá˝ áá á ááá áłá (áá
áááľ ááá°áá°á áá áá á á
áááľ áá)ᢠá á°á¨ááŞáᣠááĽá¨áą áááĽá¨áľ á¨á°ááá°áá áá፠á¨ááá ááá
ᣠáአáá፠$ áłáááᢠáá
áአáá፠áááľ ááᢠXREAD á¨áá°ááá á᪠mystream áĽáá° áááŤá áá áá á áá áľá˘ áľááá
á á˛áľ áááĽááľ á¨ááá°áá°á ááłáἠá¨ááááá áľ áá ááᎠáĽáť ááᢠá á ááłááľ ááááśá˝ áá
á¨áŠáááľ "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_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"
á¨áá áŤáá áľááá á áááľ áĽáá°áá¨á°áá ááá áŁááĄ-
"áĽá á¨á°áá áááľ á°áááᢠá ááľáŁá¨á¨áĽá áĄáľá á áŁááŁá¨áá á ááľ áááá áŤáá°á¨á° á ááľ áááĽááľ á¨á¨áĽá áĽá¨áľ ááá ἠáĽáááááá˘"
á ááľ á¨á°áá áááľ á°áááᢠá áĄáľá áá á ááľ ááś áĽáá áŁá°á¨á ááĽá áľáá ááľá áľ á áá áľ, á áĄáľá ááľáĽ áĽáŤáąá áááś ááá . á¨áá áŁáá áľááá ááľáĽ á ááľ á°á¨á᪠á áŁá á áľááá áááá á á - áአáá፠">". áá áአáá፠áááááśá˝á áŤáŁáŤáᣠá¨áá á ááľ áŤáá°á¨áąáľá áĽáť áá°áááá˘
áĽáá˛ááᣠá áአáááłáá˝áŁ áĽáá° 0 ááá áá ááááá áľáááá á᪠áŤá áĽááá°á ááŞá áááá˝ áá˝ááᢠá áá ááłá áá áľáĽáá XREADGROUP áá°á áá°á á¨á°áá áááľ á°áááᢠ(á ááľ) á¨á°áአááá áá áľáááá á°á á áá áĽáľáŤáá áĽáá á áŤáá°á°áŁá¸á á¨"á áá áŁá á " áááł áŤáá¸áá á¨áááĽááľ áłáŞá ááááľáááłáᢠXACK.
áŤáá ááŤá ááłáá፠0á áá˛áŤáá á áááá˝ áá áá áŁá ᪠ááá¨á áĽáá˝ááá COUNT. á ááá á ááľ á áá áŁá á áá áŤá áááĽááľ áááľá á¨áá áááĽááľ áĽááŤáááĄ-
> 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"
á¨á áĄáľá á áŁá á¨ááá áŚáĽ á¨áááľ á¨ááá áᥠáááááśá˝á á á¨áᢠáľááá á áአáá፠">" ááááŤáľ áŤáá°á¨áą áááááśá˝á áĽáť áá á¨áááá áᢠáĽááľá áĽáá°áááá¨áąáľ, "áá" á¨ááá áááĽááľ á áľááľá áá ááľ áľáá°á¨á° á ááłáá, áľááá áŚáĽ "áĽááąáŤá" áĽá "áĽáááŞ" ááá áá.
á áá ááááľ á ááľáŁ áŚáĽ áĽá ááááá á¨áĄáľá á°áááᢠá¨á°ááŤáŠ áááááśá˝á á¨á ááľ áĽá¨áľ ááá ἠáá˝ááᢠáĽáá˛áá áŤáá°á°áŠ áááááśá˝á áłáŞáŤá¸áá ááá ἠááá áááááśá˝ áĽáá°á°á°áŠ ááááľ ááľá¨á áá˝ááá˘
ááľáłááľ áŤááĽááľ áĽááľ áááŽá˝ á ááĄ-
- á°áááá˘á áááĽááąá áĽáá° áľááá á˛ááĽá¨á áá˛áŤáá XREADGROUP, áá áááĽááľ áá° "á áá áŁá á " áááł ááľáĽ áááŁá áĽá áá፠á¨á°áᨠá°áááᢠá°ááľá§á. ááá˝ á¨áĄáľá á°áááá˘áá˝ áá áá áááĽááľ ááá ἠá áá˝ááá˘
- á°áááá˘áá˝ á ááááŞáŤ á˛á ááą á áŤáľ-á°á ááá áŤá, á ááá˝ ááá á á áŤáľáááá.
- á áĽáá XREADGROUP á¨á ááŤáł á°á¨áłáłá ááŽá˝ á¨á°ááŁáĄ áááááśá˝á á á°ááłáłá áá ááá ἠáá˝áá, ááá áá áá áĽáá˛á°áŤ á ááááŞáŤ ááĽáŤááłááą áá á°ááłáłá áľá áŤáá¸áá áĄáľáá˝ ááá á áŤáľáááááłá. XGROUP
áááá á áááłáŤáą
á°áááá˘á á¨áľá
á°áą áááś ááááľ áĽá á¨áĽáąá á¨áááĽááľ áááá á "á áá áŁá á
áá" áááł áĽáá°áá ááá ἠáá˝áá. áááᣠá áááą áááᣠá°áááá˘áá˝ á áá¨á¨áť áááłáŠ áá˝ááᢠá°áááá˘á á¨ááľááľ áááá áŤááťá á¨á°áááá˘á á¨á°áŁá á áááááśá˝ áá áááá?
á¨á¸áážá˝ áĄáľá ááĽáá°áá
ááááśáš ááłáŽá˝ áĽáť áĽá
á áá á¨ááá áŁá
áŞá áŤáááŁá - á¨áááĽááśá˝á áŁáá¤áľ áááἠá˛áááá˘
ááľá¨á áŤááĽááľ á¨ááááŞáŤá ááá áľáááá áá°áá áá áá°á, á áĄáľá ááľáĽ áŤááľá áááá áááááśá˝ "á áá áŁá á áá" áááł áŤáłáŤá. á áŁá ááá á áá ááአᣠáľááá á áááľ áá᪠áĽá´áśá˝ áĽáť áá áŤá-á¨áá áľá áĽá á¨áĄáľá áľáá˘
> 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} á ááá¨á áá áŤáá°á°áŤ "á¨áá" áááĽááľ ááá á áĽáá˝áááᢠááá ááᣠá ááľá°á á¨áľáŤ ááľ áá {á°áá-áľáŤ ááľ áá}áá áá
á¨áĽ áĽáá˝áááᢠáá
áááľ á°áá áá˝ á¨á°ááłáłá áááááśá˝á áŁáá¤áľ á á ááľ áá ááááἠá¨ááááŠá áľá áááł áááľáááľ áá¨áłááĄ-
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 á ááŤá á¨áááĽááľ ááłáááŤáá˝á áááááľ áĽáť ááŤáááá áá˝ááᢠááááĽááą ááááŽá˝ ááááľ á¨ááááľ áĽá á¨áľáááľ á ááááá ááá¨áá á¨ááá áá á áá ááá˘
á¨áááŞáŤ ááŁáŞ
á áá¤áą ááľáĽ á¨ááŤáŠáľ ááŁáŞ áá°á á¨áĽáŤááłááą áááĽááľ á¨ááľá¨áľ áĽááľ ááᢠáĽáá˛á ááááą ááŁáŞ á áááľ ááááľ áá¨ááŤáᥠáááĽááľ á á°áłáŤ áááł á á áŠá á˛á á¨á 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 á˛á áá á¨áአááááŚá˝ á¨á°áá°á ááááľ á˛á°ááą á áŤáľ á°á áá°á¨ááᣠáľááá áĽá¨áą áá áá á á ááᢠááá áĽáá á áá ááłá áá ááá¨áĽ á áŹá˛áľ áá á°á¨ áľááľáł ááľáĽ á áŁá áá¤áłá á áá ááááľ á áá¨á°áľá. áááłáá áĽáá°áá¨á°áá ááťáťá áá˝áá-
XADD mystream MAXLEN ~ 1000 * ... entry fields here ...
á¨áá áŁáá ááłá ááľáĽ áŤáá ~ áá¨áŤá¨áŞáŤ áááľ á¨ááľ á¨áĽá¨áľ ááááľá á á ááľ á¨á°áá°á áĽá´áľ ááá°áĽ á áŤáľááááá áááľ ááᢠá áĽá ááłáᣠáá
á¨1000 á¨áá áἠááá áĽáŠá á¨áá ááĽá (áááłá 1000ᣠ1010ᣠááá 1030) ááá áá˝ááᢠáĽá¨áłá˝á á˘áŤááľ 1000 ááááŚá˝á áĽáá˛áŤá¨áá˝ áĽáá°ááááá á ááá
áááááᢠáá
á áŹá˛áľ ááľáĽ á¨áá
á°á¨ áľááľáł á áľá°áłá°áá á¨á áá áááŁá áŤá°ááááá˘
á¨á°áᨠáĄáľáá á áᢠXTRIM, áá á á°ááłáłá ááá áŤá°ááá:
> XTRIM mystream MAXLEN 10
> XTRIM mystream MAXLEN ~ 10
á¨ááŤááἠáá¨ááť áĽá ááŁááľá˘
áŹá˛áľ áĽá¨áľ á á°ááłá°á ááአá¨áŁáŞáŤ ááśá˝ áá ááŁáá áĽá áĽáá° 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"
áá áá áľááá á˛á áá áľááááá áá á°á¨ áľááľáł áá˛áŤáá áĽáá°ááááá áááľ ááľáĽ ááľááŁáľ á ááĽááľ.
á¨áᎠááááľ á á¨áśá˝
á áĽá¨áśá˝ áĽá á ááá˝ á¨áŹá˛áľ áłáł á ááááŽá˝ ááŤá¨á áŤáá ááŠááľ ááá˝ á¨ááἠá ááááŽá˝ á ááľáŁá¸á ááĽá¨ áááŽá˝ á¨ááá áľ, áĽáá° á¨áááŽá˝ ááłáľ, á¨ááἠá áááአáĽáŤáą á¨áá á°á¨ áľááľáł ááááłá. áľááá , áááłá, ᨠZREM áĽáŞ á¨áá¨á¨áťáá á áŤá á˛áŤáľáááľ á¨á°á°á¨á°á¨á áľáĽáľáĽ áá á áá ááááłá. á ááľáŠáŁ ááŽá˝ á ááľáŁá¸á ááá ááĽá¨ ááá áłáááŤá¸á áĽááłá á áá á°á¨ áľááľáł ááľáĽ áĽáá˛áአá°áá áśáá¸ááá˘
áá°áá°ááŤ
áŹá˛áľ áĽá¨áľ á¨áááĽááľ á°áááá˝áᣠá¨áááĽááľ áá¨ááá˝áᣠá¨á°ááá° áááἠááľáłááťáá˝á áĽá áłáŞáá ááá á á á¨ááááľ áľáááśá˝á áááá á á°áľáá ááá˘
á ááľ áá áĽááłááŠáľ
ááá: hab.com