рд░реЗрдбрд┐рд╕: рд╣рд▓реНрдХрд╛ рд╕реЗрдм

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

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

рдХреБрдВрдЬреА рдореВрд▓реНрдп рд╣реИ

рдореВрд▓реА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓реА рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреИрд╢, рд╕рддреНрд░, рдЖрджрд┐ред рджреГрдврд╝рддрд╛ рдЕрдХреНрд╕рд░ рдЬрдЧрд╣ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛрддреА рд╣реИ: рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдХреИрд╢, рд╕рддреНрд░ред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрдмрд╛рдК рд╣реИ, рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рдХрд╛рдЙрдВрдЯрд░реЛрдВ

рдХрд╛рд░реНрдп - рдХреБрдЫ рд╕рдВрд╕реНрдерд╛рдПрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рд╣реИ - рдЬрдм рдХрд┐рд╕реА рдкреЛрд╕реНрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
INCR post:<id> 
рдФрд░ рд╣рдореЗрдВ рдПрдХ рдЙрддреНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд┐рдЯ рдХреА рд╕рдВрдЦреНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рдПрдХ рдХреБрдВрдЬреА рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдорд╛рди 1 рддрдХ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рдЖрд░рдВрднреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рддреЗрдЬрд╝реА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореВрд▓реА рд╕реНрдореГрддрд┐ рдореЗрдВ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред рд╣рдореЗрдВ рднреА рдХреБрдЫ рдмрдЪрд╛рдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдореВрд▓реА рдмрдЪ рдЬрд╛рдПрдЧреАред

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

рд╕рдмрд╕реЗ рдКрдкрд░

рдЪрд▓реЛ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред рдмрддрд╛ рджреЗрдВ, рд╣рд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреЛрд╕реНрдЯ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢реАрд░реНрд╖ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд╛рдзрд╛рд░рдг рдЪрд╛рдмрд┐рдпрд╛рдВ рдЕрдм рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИрдВ, рд╣рдо рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд╣рд╛рдВ рднреА рд╡реЗрддрди рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдкрд┐рдЫрд▓реА рдХрдорд╛рдВрдб рдмрджрд▓ рдЬрд╛рддреА рд╣реИ:
 ZINCRBY post 1 <id> 

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

10 рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреЛрд╕реНрдЯ рдХреА рдЖрдИрдбреА рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдХрд░реЗрдВ:
 ZREVRANGE post 0 9 WITHSCORES 
рдпрджрд┐ рд╣рдореЗрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк WITHSCORES рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЗрдП рдХрд╛рд░реНрдп рдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдЬрдЯрд┐рд▓ рдХрд░реЗрдВ, рдЕрдм рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреБрд░рд╛рдиреА рдкреЛрд╕реНрдЯ рд╕рдордп рдХреЗ рд╕рд╛рде рдЧрд┐рд░реЗрдВ рдпрджрд┐ рд╡реЗ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВред рдЖрд╕рд╛рди - рд╣рдо рд╕рдордп-рд╕рдордп рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдЦрд╛рддреЗ рд╕реЗ рдПрдХреНрд╕% рд▓рд┐рдЦреЗрдВрдЧреЗ (рдореЛрддреА рдкрд░ рдЫрджреНрдо рдХреЛрдб):
 my $x = X / 100; my %posts = ZRANGE post 0 -1 WITHSCORES; while (my ($id, $score) = each %posts) { ZINCRBY post -$score*$x $id; } 

рд╣рдо рдЗрд╕реЗ рджрд┐рди рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореБрдХреБрдЯ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреИрдпрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ рддреЗрдЬреА рд╕реЗ рдлреАрдХрд╛ рд╣реЛрдЧрд╛, рдирдП рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред

рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреА рд╕реВрдЪреА

рдпрд╣ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЛрдВ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкрд░реЗрд╢рд╛рдиреА рднрд░рд╛ рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореВрд▓реА рдХреЗ рд╕рд╛рде - рдЖрд╕рд╛рдиред рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ, рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрдИрдбреА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛, рд╕рддреНрд░ рдЖрдИрдбреА рдпрд╛ рдЖрдИрдкреА + рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рд╕реЗ рдЖрдИрдбреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╣рд┐рдЯ рдХреЗ рд╕рд╛рде, рдЕрдВрддрд┐рдо рдХреЙрд▓ рдХреЗ рд╕рдордп рдХреЛ рдмрдЪрд╛рдПрдВ:
 ZADD guys_online <unix_timestamp> <user_id> 

рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдпрджреНрдпрдкрд┐ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕реА рдЖрдИрдбреА рдХреЗ рд╕рд╛рде guys_online рдореЗрдВ рдкрд┐рдЫрд▓рд╛ рд░рд┐рдХреЙрд░реНрдб рдмрджрд▓рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЕрдВрддрд┐рдо рд╣рд┐рдЯ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ user_id рд░рд┐рдХреЙрд░реНрдб - рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╣реЛрдЧрд╛ред рдСрдирд▓рд╛рдЗрди (рдЕрдВрддрд┐рдо 15 рдорд┐рдирдЯ рдореЗрдВ) рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
 ZCOUNT guys_online <unix_timestamp-15*60> +inf 

рдЕрдкрдиреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ ZCOUNT рдХреЗ рдмрдЬрд╛рдп ZRANGEBYSCORE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдмреЗрд╢рдХ, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ_рдСрдирд▓рд╛рдЗрди рдзреАрд░реЗ-рдзреАрд░реЗ рджрдмреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рддрд╛рдЬ рдореЗрдВ рд░рдЦ рджреЗрдВрдЧреЗ
 ZREMRANGEBYSCORE guys_online -inf <unix_timestamp-15*60> 

рдШрдЯрдирд╛ рд╡рд┐рдХрд▓рд╛рдВрдЧ рдХреИрд╢

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

рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред рдХреИрд╢ рдореЗрдВ рдХреБрдЫ рдмрдЪрдд рдХрд░рддреЗ рд╕рдордп, рдЕрдорд╛рдиреНрдп рдЬреЛрдбрд╝реЗрдВ:
 SET <cache_key> <data> SADD <event_name1> <cache_key> # cache_key    event_name1 SADD <event_name2> <cache_key> # тАж event_name2 

рдЬрдм Event_name рдЗрд╡реЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рднреА рдирд┐рд░реНрднрд░ рдХреИрд╢ рдХреБрдВрдЬрд┐рдпреЛрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдорд╛рдиреНрдп рд╕реВрдЪрдХ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ:
 my @cache_keys = SMEMBERS <event_name>; DEL @cache_keys <event_name> 

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

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?

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

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


All Articles