рд░реЗрдбрд┐рд╕ рд╕реНрдЯреНрд░реАрдо - рдЖрдкрдХреЗ рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА

рдЫрд╡рд┐

Redis Stream - рд╕рдВрд╕реНрдХрд░рдг 5.0 рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде Redis рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдирдпрд╛ рдЕрдореВрд░реНрдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ
рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ, Redis Stream рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд░реЗрдВрдЬ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреВрдирд┐рдХреНрд╕ рдЯреЗрд▓-рдСрдлрд╝ рдХрдорд╛рдВрдб рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рдирдП рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрдИ рдЧреНрд░рд╛рд╣рдХ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕реНрдЯреНрд░реАрдо рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрдИ "рдкреВрдВрдЫ-рдПрдл" рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝ рд╕рдХрддреА рд╣реИрдВ, рдмрд┐рдирд╛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╡рд┐рд░реЛрдз рдХрд┐рдПред

рдирдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдореМрдЬреВрдж Redis рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ Redis Stream рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред

рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рднреНрд░рдордг


рд░реЗрдбрд┐рд╕ рдкрдм / рдЙрдк


Redis Pub / Sub рдПрдХ рд╕рд░рд▓ рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреЗ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

  • рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдкреНрд░рдХрд╛рд╢рдХ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЕрдкрдиреЗ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЦреЛ рджреЗрддрд╛ рд╣реИ
  • рдкреНрд░рдХрд╛рд╢рдХ рдХреЛ рдЕрдкрдиреЗ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХрд╛ рд╕рд╣реА рдкрддрд╛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ред
  • рдПрдХ рдкреНрд░рдХрд╛рд╢рдХ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ
  • рдкреНрд░рдХрд╛рд╢рди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╕рдВрджреЗрд╢ рдХреЛ рдкреНрд░рдХрд╛рд╢рдХ рдХреЗ рдмрдлрд╝рд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдХрд┐рддрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдиреЗ рдЗрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реЛ рдФрд░ рдХрд┐рддрдиреА рдЬрд▓реНрджреА рд╡реЗ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред
  • рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЙрд╕реА рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрд╡рдпрдВ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░реНрд╕ рдХреЛ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рдлрд▓ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдЧрд┐рд░ рдЧрдпрд╛, рддреЛ рдкреНрд░рдХрд╛рд╢рдХ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред

рд░реЗрдбрд┐рд╕ рд╕реВрдЪреА


Redis List рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ рдЬреЛ рд▓реЙрдХ рд░реАрдб рдХрдорд╛рдВрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рдЖрдк рд╕реВрдЪреА рдХреА рд╢реБрд░реБрдЖрдд рдпрд╛ рдЕрдВрдд рд╕реЗ рд╕рдВрджреЗрд╢ рдЬреЛрдбрд╝ рдФрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдЕрдкрдиреЗ рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реНрдЯреИрдХ рдпрд╛ рдХрддрд╛рд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рд░реЗрдбрд┐рд╕ рдкрдм / рдЙрдк рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░:

  • рд╕рдВрджреЗрд╢ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрдврд╝рдиреЗ рд╕реЗ рдЕрд╡рд░реБрджреНрдз рдкрд╣рд▓рд╛ рдЧреНрд░рд╛рд╣рдХ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред
  • рдХреНрд▓рд┐рдВрдЯ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реАрдб рдСрдкрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реВрдЪреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред
  • рд╕рдВрджреЗрд╢ рддрдм рддрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХреЛрдИ рдЙрдиреНрд╣реЗрдВ рдЧрд┐рдирддрд╛ рдпрд╛ рд╣рдЯрд╛рддрд╛ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдк рдбрд┐рд╕реНрдХ рдХреЛ рдбреЗрдЯрд╛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдбрд┐рд╕ рд╕рд░реНрд╡рд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдкрд░рд┐рдЪрдп


рдПрдХ рдзрд╛рд░рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рдирд╛


XADD рдХрдорд╛рдВрдб рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдПрдХ рдирдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдореЗрдВ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд░рдЪрд┐рдд рд╣реИ рдФрд░ рдПрдХ CSV рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

> XADD mystream * sensor-id 1234 temperature 19.8 1518951480106-0 

рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдХреНрд░рдорд╢рдГ рдирд╛рдо (рдХреБрдВрдЬреА) "рдорд┐рд╕реНрдЯреНрд░реАрдо": "рд╕реЗрдВрд╕рд░-рдЖрдИрдбреА" рдФрд░ "рддрд╛рдкрдорд╛рди" рдХреЗ рд╕рд╛рде рджреЛ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдХреНрд░рдорд╢рдГ "1234" рдФрд░ "19.8" рдорд╛рди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдХрдорд╛рдВрдб рдЙрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ - рдпрд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдкрд╛рд╕ рд╣реЛ рдЧрдП * рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд░реЗрдбрд┐рд╕ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗред рдкреНрд░рддреНрдпреЗрдХ рдирдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдирдП рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрдЧрд╛ред

рдЖрдИрдбреА рдкреНрд░рд╛рд░реВрдк


XADD рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:

{millisecondsTime}-{sequenceNumber}

millisecondsTime - Unis time in milliseconds (Redis server time)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдкрд┐рдЫрд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рдордп рд╕реЗ рдХрдо рдпрд╛ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдкрд┐рдЫрд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рдордп рдЕрддреАрдд рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирдпрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЕрднреА рднреА рд╡реГрджреНрдзрд┐ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдЧрд╛ред

рдЕрдиреБрдХреНрд░рдордиреНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдмрдирд╛рдП рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреБрдХреНрд░рдордирдВрдмрд░ рдкрд┐рдЫрд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ 1 рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдХреНрд░рдорд╛рдиреБрд╕рд╛рд░ рдЖрдХрд╛рд░ рдореЗрдВ 64 рдмрд┐рдЯреНрд╕ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдПрдХ рд╕реАрдорд╛ рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдРрд╕реЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рдЕрдЬреАрдм рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкрд╛рдардХ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдордп рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд░реЗрдбрд┐рд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерди рд░реЗрдВрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рдордп рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдордп рд╕реАрдорд╛рдУрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЬрдм рд╣рдо 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 рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, рд╣рдо рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдПрди рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдореЗрдВ рдЕрдЧрд▓реА рдПрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ (рдкреЗрдЬрд┐рдиреЗрд╢рди) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдЕрдВрддрд┐рдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдПрдХ рд╕реЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рджреЗрдЦреЗрдВред рд╣рдо XADD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 10 рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╕реНрдЯреНрд░реАрдо рд╕реНрдЯреНрд░реАрдо рдкрд╣рд▓реЗ рд╣реА 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)) рд╣реИ, рдФрд░ рдлрд┐рд░ M рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП O (M), рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрджрдо рддреЗрдЬ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХреНрд╕рдЧреНрд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

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 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдЕрдВрддрд░ рд╣реИрдВ:

  1. рдкреНрд░рддреНрдпреЗрдХ рдирдП рд╕рдВрджреЗрд╢ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд░реЗрдбрд┐рд╕ рд╕реВрдЪреА рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдирдП рд╕рдВрджреЗрд╢ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
  2. рдЬрдмрдХрд┐ Redis Pub / Sub рдореЗрдВ рд╕рднреА рд╕рдВрджреЗрд╢ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрднреА рд╕рд╣реЗрдЬреЗ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛)ред
  3. 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" - рд╣рдо рдорд┐рд╕реНрдЯреНрд░реАрдо рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб "0-0" рд╕реЗ рдЕрдзрд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрдорд╛рдВрдб рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдирд╛рдо рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "STREAMS рдорд┐рд╕реНрдЯреНрд░реАрдо рдЕрдиреНрдпрд╕реНрдЯреНрд░реАрдо 0 0"ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ STREAMS рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдирд╛рдо рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд╛рди рдХрд░рдиреА рд╣реЛрдЧреАред

рдЗрд╕ рд╕рд░рд▓ рд░реВрдк рдореЗрдВ, рдЖрджреЗрд╢ XRANGE рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо XREAD рдХреЛ рдмреНрд▓реЙрдХ рдХрдорд╛рдВрдб рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

> XREAD BLOCK 0 STREAMS mystream $

рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 0 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрдВрддрд╣реАрди рдкреНрд░рддреАрдХреНрд╖рд╛)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд┐рд╕реНрдЯреНрд░реАрдо рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╡рд┐рд╢реЗрд╖ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ $ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ XREAD рдХреЛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣рд╕реНрдп рдзрд╛рд░рд╛ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреЗрд╡рд▓ рдирдП рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕ рдХреНрд╖рдг рд╕реЗ рд╣рдордиреЗ рд╕реБрдирдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред рдПрдХ рддрд░рд╣ рд╕реЗ, рдпрд╣ рдпреВрдирд┐рдХреНрд╕ рдЯреЗрд▓-рдПрдл рдХрдорд╛рдВрдб рдХреЗ рд╕рдорд╛рди рд╣реИред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмреНрд▓реЙрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ $ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдореМрдЬреВрдж рдХрд┐рд╕реА рднреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЯреАрдо рдмрд┐рдирд╛ рд░реБрдХреЗ, рддреБрд░рдВрдд рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреА рд╣реИ, рддреЛ рд╡рд╣ рдРрд╕рд╛ рдХрд░реЗрдЧреА, рдЕрдиреНрдпрдерд╛ рдЗрд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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 рдЙрдкрднреЛрдХреНрддрд╛ рд╕рдореВрд╣ рдирд╛рдордХ рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рдПрдХ рдЫрджреНрдо рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд╕рдорд╛рди рд╣реИ рдЬреЛ рдПрдХ рдзрд╛рд░рд╛ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рдХрдИ рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдЫ рдЧрд╛рд░рдВрдЯреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

  1. рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рд╡рд┐рднрд┐рдиреНрди рдЧреНрд░рд╛рд╣рдХреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдПрдХ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдХреЗрд╕-рд╕рдВрд╡реЗрджреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдпрджрд┐ рдХреБрдЫ рдЧреНрд░рд╛рд╣рдХ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рд╕рдореВрд╣ рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреВрдареЗ рдирд╛рдо рд╕реЗ рд╕рдореВрд╣ рдореЗрдВ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  3. рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрднреЛрдХреНрддрд╛ рд╕рдореВрд╣ "рдкрд╣рд▓реЗ рдЕрдкрдард┐рдд рд╕рдВрджреЗрд╢" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред рдЬрдм рдХреЛрдИ рдЧреНрд░рд╛рд╣рдХ рдирдП рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдХреЗрд╡рд▓ рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд╕рдореВрд╣ рдХреЗ рднреАрддрд░ рдХрд┐рд╕реА рднреА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдХрднреА рдирд╣реАрдВ рджрд┐рдП рдЧрдП рд╣реИрдВред
  4. рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрджреЗрд╢ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдиреЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЬрдм рддрдХ рдпрд╣ рдЖрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрджреЗрд╢ "рд▓рдВрдмрд┐рдд" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣реЗрдЧрд╛ред
  5. рдЙрдкрднреЛрдХреНрддрд╛ рд╕рдореВрд╣ рдХреЗ рднреАрддрд░, рдкреНрд░рддреНрдпреЗрдХ рдЧреНрд░рд╛рд╣рдХ рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ ("рд▓рдВрдмрд┐рдд" рд╕реНрдерд┐рддрд┐ рдореЗрдВ)

рдПрдХ рдЕрд░реНрде рдореЗрдВ, рдПрдХ рд╕рдореВрд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 +----------------------------------------+ | 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 - рдпрд╣ рдХрдорд╛рдВрдб рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдХреЛ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ

рдЙрдкрднреЛрдХреНрддрд╛ рд╕рдореВрд╣ рдХрд╛ рдирд┐рд░реНрдорд╛рдг


рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рд░рд╣рд╕реНрдп рдзрд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред рддрдм рд╕рдореВрд╣ рдирд┐рд░реНрдорд╛рдг рдЖрджреЗрд╢ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

> XGROUP CREATE mystream mygroup $
OK

рд╕рдореВрд╣ рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╕рдореВрд╣ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рд╣рдо рдХреЗрд╡рд▓ рд╕рднреА рдирдП рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╡рд┐рд╢реЗрд╖ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ $ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдмрдЬрд╛рдп 0 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рднреА рд╕рдВрджреЗрд╢ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗред

рдЕрдм рдЬрдм рд╕рдореВрд╣ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рддреБрд░рдВрдд XREADGROUP рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢ рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрдорд╛рдВрдб XREAD рдХреЗ рд╕рдорд╛рди рд╣реИ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмреНрд▓реЙрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕рдореВрд╣ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдореЗрд╢рд╛ рджреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдоред 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 рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред

рд╣рдо рдмрд┐рдирд╛ COUNT рд╡рд┐рдХрд▓реНрдк рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ 0 рдХреЛ рддреБрд░рдВрдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдХреЗрд╡рд▓ рд▓рдВрдмрд┐рдд рд╕рдВрджреЗрд╢ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рд╕реЗрдм рд╡рд╛рд▓рд╛ рд╕рдВрджреЗрд╢:

 > 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 рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ "рд▓рдВрдмрд┐рдд" рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рдореВрд╣ рдХреЗ рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╕рд░рд▓рддрдо рд░реВрдк рдореЗрдВ, рдХреЗрд╡рд▓ рджреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдорд╛рдВрдб рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдирд╛рдо рдФрд░ рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо:

 > 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}]]

{рд╕реНрдЯрд╛рд░реНрдЯ-рдЖрдИрдбреА} {рдПрдВрдб-рдЖрдИрдбреА} - рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╢реНрд░реЗрдгреА (рдЖрдк "-" рдФрд░ "+" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
{рдЧрд┐рдирддреА} - рдкреНрд░рд╕рд╡ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛
{рдЙрдкрднреЛрдХреНрддрд╛-рдирд╛рдо} - рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо

 > 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 

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИ: рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдирд╛рдо, рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдбрд╛рдЙрдирдЯрд╛рдЗрдо, рдФрд░ рдЕрдВрдд рдореЗрдВ, рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЙрдм рд╕реЗ рджреЛ рд╕рдВрджреЗрд╢ рд╣реИрдВ, рдФрд░ рд╡реЗ рд▓рдЧрднрдЧ 20 рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП 74170458 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╣реИрдВред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЛрдИ рднреА рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ 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}

рдЗрд╕ рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдПрдХ "рд╡рд┐рджреЗрд╢реА" рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрднреА рддрдХ рд╕реНрд╡рд╛рдореА рдХреЛ {рдЙрдкрднреЛрдХреНрддрд╛} рдореЗрдВ рдмрджрд▓рдХрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдиреНрдпреВрдирддрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо {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. 

рд╕реНрдЯреНрд░реАрдо рдЖрдХрд╛рд░ рд╕реАрдорд╛


рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рдореЗрд╢рд╛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдзрд╛рд░рд╛ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рд╣реЛрдирд╛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдЯреНрд░реАрдо рдЖрдХрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рдзрд╛рд░рд╛ рд╕реЗ рдЕрдиреНрдп рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рджреВрд╕рд░реЗ рдирд┐рд░рдВрддрд░ рднрдВрдбрд╛рд░рдг рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред рдЖрдк XADD рдХрдорд╛рдВрдб рдореЗрдВ MAXLEN рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЖрдХрд╛рд░ рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :

 > 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" 

рдореИрдХреНрд╕рд▓реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдВрдмрд╛рдИ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░ рдкреБрд░рд╛рдиреЗ рд░рд┐рдХреЙрд░реНрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдЖрдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЯреНрд░рд┐рдорд┐рдВрдЧ рд░реЗрдбрд┐рд╕ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рддрд░реНрдХ ~ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рди рдХреЗ рд▓рд┐рдП рдзрд╛рд░рд╛ рдХреА рд▓рдВрдмрд╛рдИ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ 1000 (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 1000, 1010 рдпрд╛ 1030) рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рдХреЛрдИ рднреА рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдзрд╛рд░рд╛ рдХрдо рд╕реЗ рдХрдо 1000 рд░рд┐рдХреЙрд░реНрдб рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВред рдпрд╣ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде Redis рдХреЗ рдЕрдВрджрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЕрд▓рдЧ XTRIM рдХрдорд╛рдВрдб рднреА рд╣реИ рдЬреЛ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:

XADD mystream MAXLEN ~ 1000 * ... entry fields here ...





> 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" 

рдЗрд╕ рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрдореЛрд░реА рддреБрд░рдВрдд рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред

рд╢реВрдиреНрдп-рд▓рдВрдмрд╛рдИ рдХреА рдзрд╛рд░рд╛рдПрдБ


рдзрд╛рд░рд╛рдУрдВ рдФрд░ рдЕрдиреНрдп рд░реЗрдбрд┐рд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдЕрдм рдЕрдкрдиреЗ рднреАрддрд░ рддрддреНрд╡ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╕реНрд╡рдпрдВ рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛ рджреА рдЬрд╛рдПрдЧреАред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ZREM рдХреЙрд▓ рдЕрдВрддрд┐рдо рдЖрдЗрдЯрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рд╕реЙрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реЗрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕реНрдореГрддрд┐ рдореЗрдВ рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рднреА рддрддреНрд╡ рдХреЗ рдмрд┐рдирд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖


Redis Stream рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓реЛрдВ, рд╕рдВрджреЗрд╢ рдХрддрд╛рд░реЛрдВ, рдПрдХреАрдХреГрдд рд▓реЙрдЧ рдФрд░ рдЪреИрдЯ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ рдЬреЛ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдХрд▓рд╕ рд╡рд┐рд░реНрде рдиреЗ рдПрдХ рдмрд╛рд░ рдХрд╣рд╛ рдерд╛ , рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкреНрд▓рд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рд╣реИрдВ, рдФрд░ рд░реЗрдбрд┐рд╕ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛрдиреЛрдВ рджреЗрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi456270/


All Articles