Redis Stream แแ แแก แแฎแแแ แแแกแขแ แแฅแขแฃแแ แแแแแชแแแแ แขแแแ, แ แแแแแแช แแแแแแ แแ Redis-แจแ 5.0 แแแ แกแแแ
แแแแชแแแขแฃแแแฃแ แแ, Redis Stream แแ แแก แกแแ, แ แแแแแจแแช แจแแแแซแแแแ แแแแแแขแแ แฉแแแแฌแแ แแแ. แแแแแแฃแ แฉแแแแฌแแ แก แแฅแแก แฃแแแแแแฃแ แ แแแแแขแแคแแแแขแแ แ. แแแแฃแแแกแฎแแแแแ, ID แแแขแแแแขแฃแ แแ แแแแแ แแ แแแแ แแ แแแแชแแแก แแ แแแก แแแจแแแก. แแแแขแแ, แแฅแแแ แจแแแแซแแแแ แแแแแฎแแแแ แฉแแแแฌแแ แแแแก แแแแแแแแแ แแ แแแ แแแแแแแแแแแจแ, แแ แแแแฆแแ แแฎแแแ แแแแแชแแแแแ แแแแแแจแ แแแกแแแแกแแก, แแกแแแ แ แแแแ แช Unix-แแก "tail -f" แแ แซแแแแแ แแแแฎแฃแแแแก แแฃแ แแแแแก แคแแแแก แแ แแงแแแแแ แแฎแแแ แแแแแชแแแแแแก แแแแแแแแจแ. แแแแแแแแแกแฌแแแแ, แ แแ แ แแแแแแแแ แแแแแแขแก แจแแฃแซแแแ แแแแกแแแแแก แแแแ แแ แแแ แแฃแแแ, แแกแแแ แ แแแแ แช แแแแ "tail -f" แแ แแชแแกแก แจแแฃแซแแแ แฌแแแแแแฎแแก แคแแแแ แแ แแแ แแฃแแแ, แแ แแแแแแแแแ แแแแคแแแฅแขแแก แแแ แแจแ.
แแแแแชแแแแ แแฎแแแ แขแแแแก แงแแแแ แฃแแแ แแขแแกแแแแก แแแกแแแแแแ, แแแแแ แแแแแแฎแแแแ แแแแ แฎแแแก แแแแแแแแแแแจแ แแ แกแแแฃแ Redis แกแขแ แฃแฅแขแฃแ แแแก, แ แแแแแแแช แแแฌแแแแแ แแ แแแแแ แแแแ Redis Stream-แแก แคแฃแแฅแชแแแแแ แแแแก.
Redis PUB/SUB
Redis Pub/Sub แแ แแก แแแ แขแแแ แจแแขแงแแแแแแแแแแก แกแแกแขแแแ, แ แแแแแแช แฃแแแ แฉแแจแแแแแฃแแแ แแฅแแแแก แแแกแแฆแแแแก แฆแแ แแแฃแแแแแก แแแฆแแแแแจแ. แแฃแแชแ, แกแแแแ แขแแแ แคแแกแแแแแ:
- แแฃ แแแแแแชแแแแแ แ แแแแ แแแแแแแ แแแ แชแฎแแแแ, แแแจแแ แแก แแแ แแแแก แแแแแก แงแแแแ แแแแแแแขแก
- แแแแแแชแแแแแแ แฃแแแ แแชแแแแก แแแกแ แงแแแแ แแแแแแแขแแก แแฃแกแขแ แแแกแแแแ แแ
- แแแแแแชแแแแแแ แจแแแซแแแแ แแแแแขแแแ แแแก แแแแแกแ แแแแแแแขแแแ แกแแแฃแจแแแแ, แแฃ แแแแแชแแแแแ แฃแคแ แ แกแฌแ แแคแแ แแแแแฅแแแงแแแแแ, แแแแ แ แแแแฃแจแแแแแฃแแแ
- แจแแขแงแแแแแแแ แฌแแแจแแแแ แแแแแแชแแแแแก แแฃแคแแ แแแแ แแแแแฅแแแงแแแแแกแแแแแแ, แแแฃแฎแแแแแแ แแแแกแ, แแฃ แ แแแแแ แแแแแแแขแก แแแแฌแแแ แแ แ แแแแแแแ แกแฌแ แแคแแ แจแแซแแแก แแ แจแแขแงแแแแแแแแก แแแแฃแจแแแแแ.
- แงแแแแ แแแแแแแขแ แแแแฆแแแก แจแแขแงแแแแแแแแก แแ แแแ แแฃแแแ. แแแแแ แแแแแแแขแแแแ แ แแแแ แแ แฃแแแ แจแแแแแฎแแแแแ แแ แแกแ แแ แแแแแ แจแแขแงแแแแแแแแก แแแแฃแจแแแแแแก แแแแแแแแแแ แแแแแ.
- แแ แแ แกแแแแแก แฉแแจแแแแแฃแแ แแแฅแแแแแแ, แ แแแแแแช แแแแกแขแฃแ แแแก, แ แแ แแแแแแแขแแ แฌแแ แแแขแแแแ แแแแแฃแจแแแ แจแแขแงแแแแแแแ. แแฃ แแแแแแแขแ แแแแฆแแแก แจแแขแงแแแแแแแแก แแ แแแแ แแ แแแแฃแจแแแแแแก แแ แแก, แแแแแแชแแแแแแ แแ แแชแแก แแแแก แจแแกแแฎแแ.
แ แแแแก แกแแ
Redis List แแ แแก แแแแแชแแแแ แกแขแ แฃแฅแขแฃแ แ, แ แแแแแแช แแฎแแ แก แฃแญแแ แก แฌแแแแแฎแแแก แแ แซแแแแแแแแก แแแแแแแแแก. แจแแแแซแแแแ แแแแแแขแแ แแ แฌแแแแแแฎแแ แจแแขแงแแแแแแแแแ แกแแแก แแแกแแฌแงแแกแแแแ แแ แแแแแแแ. แแ แกแขแ แฃแฅแขแฃแ แแแแ แแแแแแแแแแ แ, แจแแแแซแแแแ แจแแฅแแแแ แแแ แแ แกแขแแแ แแ แ แแแ แแฅแแแแ แแแแแฌแแแแแฃแแ แกแแกแขแแแแกแแแแก แแ แฃแแแขแแก แจแแแแฎแแแแแจแ แแก แกแแแแแ แแกแ แแฅแแแแ. แซแแ แแแแแ แแแแกแฎแแแแแแแแ Redis Pub/Sub-แแกแแแ:
- แจแแขแงแแแแแแแ แแแแฌแแแแแ แแ แ แแแแแแขแก. แแแ แแแแ แฌแแแแแฎแฃแแ แแแแแแแแแ แแแแแแขแ แแแแฆแแแก แแแแแชแแแแแก.
- แแแแแขแแ แแแแแ แฃแแแ แฌแแแแแฌแงแแก แฌแแแแแฎแแแก แแแแ แแชแแ แแแแแแฃแแ แจแแขแงแแแแแแแแกแแแแก. แกแแแ แแ แแคแแ แ แแชแแก แแแแแแขแแแแก แจแแกแแฎแแ.
- แจแแขแงแแแแแแแแแ แแแแฎแแแ แแแแแ, แกแแแแ แแแแแ แแ แฌแแแแแแฎแแแก แแแ แแ แแจแแแ แแ แแ แฌแแจแแแก แแแ. แแฃ แแฅแแแ แแแแแแแคแแแฃแ แแ แแแ Redis แกแแ แแแ แก แแแแแชแแแแแแก แแแกแแแ แแแแแขแแแแแ, แแแจแแ แกแแกแขแแแแก แกแแแแแแแแแ แแแแแแ แแ แแแ แแแแ.
แกแขแ แแแแก แจแแกแแแแแ
แฉแแแแฌแแ แแก แแแแแขแแแ แแแแแแจแ
แแฃแแแ XADD แแแแขแแแก แแฎแแ แฉแแแแฌแแ แก แแแแแแจแ. แฉแแแแฌแแ แ แแ แแ แแก แแฎแแแแ แกแขแ แแฅแแแ, แแก แจแแแแแแ แแ แแ แแ แแแขแ แแแกแแฆแแแ-แแแแจแแแแแแแแก แฌแงแแแแแกแแแแ. แแแ แแแแ, แแแแแแฃแแ แฉแแแแฌแแ แ แฃแแแ แกแขแ แฃแฅแขแฃแ แแ แแแฃแแแ แแ แฌแแแแแแก CSV แคแแแแแก แกแขแ แฃแฅแขแฃแ แแก.
> XADD mystream * sensor-id 1234 temperature 19.8
1518951480106-0
แแแแแ แแแงแแแแแ แแแแแแแแจแ แฉแแแ แแแแแขแแแ แแแแแแก แแ แแแแก แกแแฎแแแฌแแแแแแ (แแแกแแฆแแแ) โmystreamโ: โsensor-idโ แแ โtemperatureโ แแแแจแแแแแแแแแแ แจแแกแแแแแแกแแ โ1234โ แแ โ19.8โ. แ แแแแ แช แแแแ แ แแ แแฃแแแแขแ, แแ แซแแแแแ แแฆแแแก แแแแแขแแคแแแแขแแ แก, แ แแแแแแช แแแแแแญแแแ แฉแแแแฌแแ แก - แแก แแแแแขแแคแแแแขแแ แ แชแแแกแแฎแแ แแแแกแแแฆแแ แแแก แแแแแแฃแ แฉแแแแฌแแ แก แแแแแแจแ. แแฃแแชแ, แแ แจแแแแฎแแแแแจแ แฉแแแ แแแแแแ แแ * แแแแขแแ, แ แแ แแแกแฃแ แก Redis-แแ แแฎแแแ ID-แแก แแแแแ แแ แแแ. แงแแแแแ แแฎแแแ ID แแแแแ แแแแ. แแแแขแแ, แงแแแแ แแฎแแ แฉแแแแฌแแ แก แแฅแแแแ แฃแคแ แ แแแฆแแแ แแแแแขแแคแแแแขแแ แ แฌแแแ แฉแแแแฌแแ แแแแแ แแแแแ แแแแแจแ.
แแแแแขแแคแแแแขแแ แแก แคแแ แแแขแ
แแ แซแแแแแแ แแแแ แฃแแแแฃแแ แจแแกแแแแก ID XADD, แจแแแแแแ แแ แ แแแฌแแแแกแแแแ:
{millisecondsTime}-{sequenceNumber}
แแแแแฌแแแแก แแ แ โ Unix แแ แ แแแแแฌแแแแแจแ (Redis แกแแ แแแ แแก แแ แ). แแฃแแชแ, แแฃ แแแแแแแแ แ แแ แ แแแแแแ แแ แแแแแแแแ, แแแแ แ แฌแแแ แฉแแแแฌแแ แแก แแ แ, แแแจแแ แแแแแแงแแแแแ แฌแแแ แฉแแแแฌแแ แแก แแ แ. แแแแขแแ, แแฃ แกแแ แแแ แแก แแ แ แแ แแจแ แแ แฃแแแแแ, แแฎแแแ แแแแแขแแคแแแแขแแ แ แแแแแ แจแแแแแ แฉแฃแแแแก แแแแแขแ แแแแกแแแแก.
แ แแแแแ แแแแแ แ แแแแแแงแแแแแ แแแแแ แแแแแฌแแแจแ แจแแฅแแแแแ แฉแแแแฌแแ แแแแกแแแแก. แ แแแแแ แแแแแ แ แแแแแ แแแแ 1-แแ แฌแแแ แฉแแแแฌแแ แแแ แจแแแแ แแแแ. แฒแแแขแแ แ แแ แ แแแแแ แแแแแ แ แแ แแก 64 แแแขแ แแแแแก, แแแจแแ แแ แแฅแขแแแแจแ แแฅแแแ แแ แฃแแแ แจแแแกแ แฃแแแ แแแแแขแ แฉแแแแฌแแ แแแแก แ แแแแแแแแแก แจแแกแแฎแแ, แ แแแแแแช แจแแแซแแแแ แจแแแฅแแแแก แแ แแ แแแแแฌแแแแก แแแแแแแแแแแจแ.
แแกแแแ แแแแแขแแคแแแแขแแ แแแแก แคแแ แแแขแ แแ แแ แจแแฎแแแแแ แจแแแซแแแแ แฃแชแแแฃแ แ แฉแแแแแก. แฃแแแแแแแแแก แแฅแแแ แแแแแฎแแแแก แจแแแซแแแแ แแแฃแแแแ แแแก, แ แแขแแ แแ แแก แแ แ แแแแแขแแคแแแแขแแ แแก แแแฌแแแ. แแแแแแ แแ แแก แแก, แ แแ Redis แแแแแแแแ แแฎแแ แก แฃแญแแ แก แแแแแแแแแแก แจแแแแแฎแแแแก ID-แแ. แแแแแแแแ แแแแแขแแคแแแแขแแ แ แแกแแชแแ แแแแ แฉแแแแฌแแ แแก แจแแฅแแแแก แแ แแกแแแ, แแก แจแแกแแซแแแแแแก แฎแแแก แแ แแแก แแแแแแแแแแแแก แแแแฎแแแแแก แแแแฎแแแแแก แกแแจแฃแแแแแแก. แฉแแแ แแแแแแฎแแแแแ แแแแแ แแขแฃแ แแแแแแแแก, แ แแแแกแแช แแแแแแฎแแแแแ แแ แซแแแแแแก 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"
แแแแแแฃแแ แแแแ แฃแแแแฃแแ แฉแแแแฌแแ แ แแ แแก แแ แ แแแแแแแขแแก แแแกแแแ: แแแแแขแแคแแแแขแแ แ แแ แแแกแแฆแแแ-แแแแจแแแแแแแแก แฌแงแแแแแแแก แกแแ. แฉแแแ แฃแแแ แแแฅแแแ, แ แแ แฉแแแแฌแแ แแแแก แแแแแขแแคแแแแขแแ แแแ แแแแแแจแแ แแแฃแแแ แแ แแกแแแ. แแแแขแแ, แฉแแแ แจแแแแแซแแแ แแแแแแฎแแแแ แแแ แแแแฃแแ แแแ แแแแแก แแแแแแแแแ. แแฃแแชแ, แฉแแแ แจแแแแแซแแแ แแแแฎแแแแแจแ แแแแฃแแแแแ แแ แ แกแ แฃแแ แแแแแขแแคแแแแขแแ แ, แแ แแแแ แแฎแแแแ Unix แแ แ, แแแแแแขแแแแ แแแแแแจแแ แแแฃแแ แแแฌแแแ แ แแแแแ แแแแแ แ. แแแแแขแแคแแแแขแแ แแก แแแแแขแแแแแฃแแ แแแฌแแแ แแแขแแแแขแฃแ แแ แแแงแแแแแแ แแฃแแแแแ แแแแแแแแแแก แแแกแแฌแงแแกแจแ แแ แแแฅแกแแแแแฃแ แจแแกแแซแแ แแแแจแแแแแแแแแแ แแแแแแแแแแก แแแแแก. แฅแแแแแ แแแชแแแฃแแแ แแแแแแแแ แแแแกแ, แแฃ แ แแแแ แจแแแแซแแแแ แแแแแฎแแแแ แแ แ แแแแแฌแแแแก แแแแแแแแแ.
> XRANGE mystream 1518951480106 1518951480107
1) 1) 1518951480106-0
2) 1) "sensor-id"
2) "1234"
3) "temperature"
4) "19.8"
แฉแแแ แแแแฅแแก แแฎแแแแ แแ แแ แฉแแแแฌแแ แ แแ แแแแแแแแแจแ, แแฃแแชแ แ แแแแฃแ แแแแแชแแแแ แแแแ แแแแแจแ แแแแ แฃแแแแฃแแ แจแแแแแ แจแแแซแแแแ แแงแแก แฃแแแ แแแแแ แ. แฒแ แแแแแแแ XRANGE แแฎแแ แก แฃแญแแ แก COUNT แแแ แแแแขแก. แ แแแแแแแแแก แแแแแแแแแ, แฉแแแ แจแแแแแซแแแ แฃแแ แแแแ แแแแแฆแแ แแแ แแแแ N แฉแแแแฌแแ แแแ. แแฃ แแแแแญแแ แแแแ แจแแแแแแ N แฉแแแแฌแแ แแแแก แแแฆแแแ (แแแแแ แแแ), แจแแแแแซแแแ แแแแแแแงแแแแ แแแแ แแแฆแแแฃแแ ID, แแแแแแ แแแ แ แแแแแ แแแแแ แ แแ แแ แแ แแกแแ แแแแแฎแ. แแแแแ แจแแแฎแแแแ แแแแก แจแแแแแ แแแแแแแแจแ. แฉแแแ แแแฌแงแแแ 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"
แจแแแแแแ แแ แ แแแแแแแขแแ แแแแแแ แแแแก แแแกแแแ แซแแแแแแแ, แฉแแแ แฃแแแ แแแแ แฉแแแ แแแฆแแแฃแแ แแแแ ID, แแแฃ 1519073279157-0 แแ แแแแแแแขแแ 1 แ แแแแแ แแแแแ แ.
แแแฆแแแฃแแ ID, แแ แจแแแแฎแแแแแจแ 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 List-แแก แแแแแแแแแกแแแ, แกแแแแช แแฎแแ แจแแขแงแแแแแแแแก แฌแแแแแแฎแแแก แแฎแแแแ แแ แแ แแแแแแแขแ.
- แแแฃแฎแแแแแแ แแแแกแ, แ แแ 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 แแแแแฌแแแแก แแ แแแ (แแก แแแจแแแแก แแแแฃแกแแแฆแแ แแแ แแแแแ แแแแแแก). แฃแคแ แ แแแขแแช, แแแแแแแก mystream-แแกแแแแก แฉแแแฃแแแแ แแแ แแแแแขแแคแแแแขแแ แแก แแแแแชแแแแก แแแชแแแแ, แแแแแแชแ แกแแแชแแแแฃแ แ แแแแแขแแคแแแแขแแ แ $. แแก แกแแแชแแแแฃแ แ แแแแแขแแคแแแแขแแ แ แแแจแแแแก แแแแก XREAD แแแแแขแแคแแแแขแแ แแ แฃแแแ แแแแแแงแแแแก แแแฅแกแแแแแฃแ แ แแแแแขแแคแแแแขแแ แ mystream-แจแ. แแกแ แ แแ, แฉแแแ แแแแแฆแแแ แแฎแแแแ แแฎแแ แจแแขแงแแแแแแแแแก แแแกแแแแแก แแแฌแงแแแแก แแแแแแขแแแแ. แแแ แแแแฃแแฌแแแแ, แแก แฐแแแแก Unix-แแก "แแฃแแ -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.
แฉแแแ แจแแแแแซแแแ แจแแแแแแฌแแแ แแก แฅแชแแแ ID 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"
แแแแแ, mygroup-แแก แฌแแแ แแ, แแแแแฎแแแ แแ แแฃแแแขแแก แแ แ แจแแขแงแแแแแแแแกแ. แแ แซแแแแแ แแขแงแแแแแแแ แแฎแแแแ แแแฃแฌแแแแแแ แจแแขแงแแแแแแแแแก แกแแแชแแแแฃแ แ แแแแแขแแคแแแแขแแ แแก ">" แแแแ. แ แแแแ แช แฎแแแแแ, แจแแขแงแแแแแแแ "แแแจแแ" แแ แแแแแฉแแแแแ, แ แแแแแ แแก แฃแแแ แแแฌแแแแแฃแแแ แแแแกแแ, แแแแขแแ แแแแ แแฆแแแก "แคแแ แแแฎแแแก" แแ "แแแ แฌแงแแแก".
แแ แแแแ, แแแแกแก, แแแแก แแ แฏแแฃแคแแก แแแแแกแแแแ แกแฎแแ แแแแแแแขแก แจแแฃแซแแแ แฌแแแแแแฎแแก แกแฎแแแแแกแฎแแ แจแแขแงแแแแแแแแแ แแแแแ แแแแแแแแแ. แแแ แแกแแแ แจแแฃแซแแแแ แฌแแแแแแฎแแ แแแฃแแฃแจแแแแแแแ แจแแขแงแแแแแแแแแแก แแกแขแแ แแ แแ แแแแแจแแแ แจแแขแงแแแแแแแแแ แแแแฃแจแแแแแฃแแแ.
แแแกแแแแแแแกแฌแแแแแแแแ แ แแแแแแแแ แ แแ:
- แ แแแแ แช แแ แแแแแแแขแ แจแแขแงแแแแแแแแก แแ แซแแแแแแ แฉแแแแแแก 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
แแฎแแ แฉแแแ แแแแฅแแก แแแขแแแแแ แแแแแแฃแแ แจแแขแงแแแแแแแแกแแแแก: ID, แแแแแแแขแแก แกแแฎแแแ, แฃแแแฅแแแแแแแก แแ แ แแแแแฌแแแแแจแ แแ แแแแแก แแแฌแแแแแแก แแชแแแแแแแแแก แ แแแแแแแแ. แฉแแแ แแแแฅแแก แแ แ แจแแขแงแแแแแแแ แแแแแกแแแ แแ แแกแแแ แฃแแแฅแแแแแ แแงแแแแ 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 แแแ แแแแขแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแฎแแแแ แจแแขแงแแแแแแแแก ID-แแแแก แแแกแแแ แฃแแแแแแ. แแก แกแแกแแ แแแแแแ แแ แจแแแแฎแแแแแจแ, แแฃ แแ แแแแแขแแ แแกแแแ แจแแขแงแแแแแแแแก แแแขแแแแแ แแ แแกแฃแ แ แกแแกแขแแแแก แแฃแจแแแแแก แแแแฆแแแแ.
แแแขแแแแก แแ แแชแฎแแแแ
แแ แแชแฎแแแแ, แ แแแแแกแแช แฎแแแแแ แแแแแแแแแแจแ แแแกแแแแแแแแแ แแ แแก แแแแแแฃแแ แจแแขแงแแแแแแแแก แแแฌแแแแแแก แ แแแแแแแแ. แแกแแแ แแ แแชแฎแแแแ แแแ แแแแ แแ แ แแแแ: แ แแแแกแแช แจแแขแงแแแแแแแ แฌแแ แแแขแแแแ แแแแแฎแแแแแ แแแจแแแแแแ 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. แแ แซแแแแแ แแฆแแแก แแแแแก แกแแฎแแแก, แ แแกแแช แแแฐแงแแแแ แฌแแกแแจแแแแ แจแแขแงแแแแแแแแก ID:
> 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