Predis: рд╕рд░реНрд╡рд░ рд╕реЗ рд▓рд╛рдЗрди рдкрдврд╝рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдЬреВрди 2011  ┬╖  21рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: predis/predis

PHP 5.2 рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдореБрдЭреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ "рд╕рд░реНрд╡рд░ рд╕реЗ рд▓рд╛рдЗрди рдкрдврд╝рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐" рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдЬрд┐рд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдПрдХ рдХреНрд░рдордмрджреНрдз рд╕реНрдЯреНрд░рд┐рдВрдЧ lpush рд╣реИред

рдореИрдВ рдПрдХ PHP рдбреЗрдореЙрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдкреНрд░реАрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рд╣рд░ рд╕рдордп рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА redis.conf рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ 0 рдкрд░ рд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрджрд┐ рдЖрдк рдПрдХ рдбреЗрдореЙрди рдЬреИрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ Predis рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ read_write_timeout рд╕реЗ -1 рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдорд╛рди Predis рдХреЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред рд╕рд╛рде рд╣реА, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ redis.conf рдореЗрдВ timeout = 0 рд╕реЗрдЯ рдХрд░рдХреЗ Redis рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ Redis рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ 300 рд╕реЗрдХрдВрдб рдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред

рд╕рднреА 21 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

рдзрдиреНрдпрд╡рд╛рдж рдПрдирдЖрд░рдХреЗред рдореИрдВ рд╕реЙрдХреЗрдЯ_рдЯрд╛рдЗрдордЖрдЙрдЯ рдФрд░ рд░реАрдб_рд░рд╛рдЗрдЯ_рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ рдпрд╣рд╛рдВ рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдПрдХ рдбреЗрдореЙрди рдЬреИрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ Predis рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ read_write_timeout рд╕реЗ -1 рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдорд╛рди Predis рдХреЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред рд╕рд╛рде рд╣реА, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ redis.conf рдореЗрдВ timeout = 0 рд╕реЗрдЯ рдХрд░рдХреЗ Redis рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ Redis рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ 300 рд╕реЗрдХрдВрдб рдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред

рдПрдирдЖрд░рдХреЗ, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЯрд╛рдЗрдордЖрдЙрдЯ = 0 рдФрд░ read_write_timeout рдХреЛ -1 рдкрд░ рд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рд╣рдо рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

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

  1. рдпрджрд┐ рдЖрдкрдХрд╛ рд░реЗрдбрд┐рд╕ рд╕рд░реНрд╡рд░ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдкрд░ рдирд╣реАрдВ рд╣реИ рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╕рдорд╕реНрдпрд╛рдПрдБ
  2. рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд╣реАрдВ рднреА KEYS рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдорд╣рдВрдЧреА рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? Redis рдкрд░ рдХреАрдЬрд╝ рд╕реНрдЯреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, KEYS рд╕рд░реНрд╡рд░ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдмреАрдЪ, рдпрд╣ рдЕрдиреНрдп рдЕрдиреБрд░реЛрдзреЛрдВ рдпрд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЗрдбрд┐рд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИред

рдПрдирдЖрд░рдХреЗ рд╕рд▓рд╛рд╣ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдореИрдВрдиреЗ рдХрдиреЗрдХреНрд╢рди_рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрдврд╝рд╛рдХрд░ 30 рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реВрдВрдЧрд╛ред

  1. рд╣рд╛рдВ, рд╣рдо рдХрдИ рд░реЗрдбрд┐рд╕ рдиреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдирд╣реАрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?)
  2. рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рд╣рд░ 900 рдХреЗ рджрд╢рдХ рдореЗрдВ рд╕реНрдиреИрдкрд╢реЙрдЯ рд▓реЗ рд░рд╣реЗ рд╣реИрдВред рд▓реЙрдЧ рд╕реЗ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо HD рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП 8s рд▓реЗ рд░рд╣рд╛ рд╣реИред рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд╛ рдХрд╛рд░рдг рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?
  3. рдЯрд╛рдЗрдордЖрдЙрдЯ рд╣реЛрдиреЗ рдкрд░ рд╕рд░реНрд╡рд░ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕рд▓рд╛рд╣? рдЯрд╛рдЗрдордЖрдЙрдЯ рдмрд╣реБрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИред рдореИрдВрдиреЗ рд░реЗрдбрд┐рд╕ рд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрдиреИрдкрд╢реЙрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдПрдХ рдФрд░ рдЕрдкрдбреЗрдЯ, рдореИрдВрдиреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдорд╛рдкрд╛, рдФрд░ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрд╡рд╛рдж 5s рдХреЗ рдмрд╛рдж рд╣реБрдЖред рдореИрдВрдиреЗ рдХрдиреЗрдХреНрд╢рди_рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛:

рдирдпрд╛ Predis_Client($param, array('read_write_timeout' => -1, 'connection_timeout' => 30));

рдХреНрдпрд╛ рд╡реЛ рд╕рд╣реА рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 30 рдХреЗ рдХрдиреЗрдХреНрд╢рди_рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╡реЗ рдХрдиреЗрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП read_write_timeout рдФрд░ connection_timeout рдХреЛ $param рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

  1. рдЬрдм рддрдХ рдпрд╣ Amazon EC2 (рдЙрдЪреНрдЪ рд╡рд┐рд▓рдВрдмрддрд╛ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрджреЛрдВ) рдкрд░ рдПрдХ рдирд┐рдЬреА рдиреЗрдЯрд╡рд░реНрдХ рдирд╣реАрдВ рд╣реИ, рддрдм рддрдХ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  2. рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рд╕реНрдиреИрдкрд╢реЙрдЯрд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдХреЛ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
  3. рдЖрдк рд╕реНрдиреИрдкрд╢реЙрдЯрд┐рдВрдЧ рд▓реЙрдЧ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рдордп рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдФрд░ рдЖрдкрдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдЙрд╕ рдкрд░ рд╕рдорд░реНрдерди рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореЗрдЬрдмрд╛рди рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдкрд░ рдкреНрд░реЗрдбрд┐рд╕ рд╕реЙрдХреЗрдЯ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдлреИрдВрд╕реА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ PHP рдХреЗ рдЖрдВрддрд░рд┐рдХ рднрд╛рдЧ рдХреЛ рд╕реМрдВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдпрд╛ рддреЛ PHP рдореЗрдВ рдПрдХ рдмрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ) рдпрд╛ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди/рд░рдирдЯрд╛рдЗрдо рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╕реНрдпрд╛, рдпрд╛ Redis рдХреБрдЫ рднрд╛рд░реА рдСрдкрд░реЗрд╢рди рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╕рд░реНрд╡рд░ рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдПрдирдЖрд░рдХреЗ, рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА, рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ ip_conntrack рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдЯреНрд░реИрдХ рддрдп рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рднреА рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдВрддрддрдГ рдЙрди рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдкреАрдЫреЗ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓ рдЧрдИ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЪреЗрдХ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реВрдЪреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рд╢рд╛рдпрдж рдЗрд╕реЗ рдПрдлрдПрдХреНрдпреВ рдореЗрдВ рдХрд╣реАрдВ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ред

рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рд╣реЛ рд░рд╣реА рдереА, read_write_timeout рдХреЛ 0 рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдореИрдВрдиреЗ рдкреНрд░реАрдбрд┐рд╕ рдореЗрдВ рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпрд╛ рд╣рдо рдкреНрд░реАрдбрд┐рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ http://code.google.com/p/dires/source/browse/trunk/predis/examples/PubSubContext.php?r=4
рдореИрдВ predis рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ: $redis = new Predis\Client("tcp://"ред$turboConfig->getActivitiesRedisHost ()); рдореБрдЭреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ read_write_timeout рдХреИрд╕реЗ рдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@amitchhajer рдХреНрд▓рд╛рдЗрдВрдЯ рдирд╛рдорд┐рдд рд╕рд░рдгрд┐рдпреЛрдВ рдпрд╛ рдпреВрдЖрд░рдЖрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рдХрдиреЗрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдпреВрдЖрд░рдЖрдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ: tcp://127.0.0.1:6379?read_write_timeout=0 ред

@nrk рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЕрдм рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ read_write_timeout рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдкреИрд░рд╛рдо (рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЗрдЯрд░ рдореМрдЬреВрдж рд╣реИ?

@bondeg рдХрдиреЗрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдЙрдиреНрд╣реЗрдВ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдЯреНрд░реАрдо рд╕рдВрд╕рд╛рдзрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдЗрд╕ рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рд╕реНрдЯреНрд░реАрдо рд╡рд┐рдХрд▓реНрдк рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рдпрд╛ рдкреНрд░рддрд┐рдХреГрддрд┐ рдореЛрдб рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реНрдирд┐рдкреЗрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

$connection = $client->getConnection();
$stream = $connection->getResource();
stream_set_timeout($stream, 2);

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ $connection->getResource() рдХрд░рдиреЗ рд╕реЗ connect() рдСрдкрд░реЗрд╢рди рд░реЗрдбрд┐рд╕ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрд▓рд╕реА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдЦреЛ рд╕рдХреЗрдВред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░реЗрдбрд┐рд╕ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ connection_timeout рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ timeout рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдХрд╛рдлреА рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ ' рдПрдЪ рдХреБрдВрдЬреА' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рддрд╛рд▓реЗ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрджрд┐ рдЖрдк рдПрдХ рдбреЗрдореЙрди рдЬреИрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ Predis рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ read_write_timeout рд╕реЗ -1 рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдорд╛рди Predis рдХреЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред рд╕рд╛рде рд╣реА, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ redis.conf рдореЗрдВ timeout = 0 рд╕реЗрдЯ рдХрд░рдХреЗ Redis рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ Redis рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ 300 рд╕реЗрдХрдВрдб рдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред

redis.conf рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ = 0 рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝реА рдХреЛрдИ рдХрдореА рдпрд╛ рд╕рд╛рд╡рдзрд╛рдиреА?

рдореБрдЭреЗ рдЬреЛ рд╕рдВрджреЗрд╣ рд╣реИ рд╡рд╣ рд╣реИ .. рдХреНрдпреЛрдВрдХрд┐ рдХрдиреЗрдХреНрд╢рди рдХрднреА рдирд╣реАрдВ рдЧрд┐рд░реЗрдВрдЧреЗ
рд░реЗрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдЪреНрдЪ рд░рд╣реЗрдЧрд╛

рдПрдирдЖрд░рдХреЗ, рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА, рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд░реНрд╡рд░ рд╣реИ рдЬреЛ ip_conntrack рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдЯреНрд░реИрдХ рддрдп рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдиреЗрдХреНрд╢рди рдЯрд╛рдЗрдордЖрдЙрдЯ рднреА рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдЕрдиреБрдмрдВрдз рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ.. рдХрд╣рд╛рдВ рджреЗрдЦреЗрдВ?

redis.conf рдкрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ = 0 рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЬреБрдбрд╝реА рдХреЛрдИ рдХрдореА рдпрд╛ рд╕рд╛рд╡рдзрд╛рдиреА?

@aditya-rewari-cb рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ timeout = 0 redis.conf рдореЗрдВ Redis 2.4 (рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЬрд╛рд░реА) рдХреЗ рдмрд╛рдж рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдХреЛрдИ рдХрдорд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдПрдХ рдбреЗрдореЙрди рдЬреИрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ Predis рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ read_write_timeout рд╕реЗ -1 рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрджрд┐ рдЖрдк рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╣ рдорд╛рди Predis рдХреЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред рд╕рд╛рде рд╣реА, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ redis.conf рдореЗрдВ timeout = 0 рд╕реЗрдЯ рдХрд░рдХреЗ Redis рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ Redis рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ 300 рд╕реЗрдХрдВрдб рдХреА рдирд┐рд╖реНрдХреНрд░рд┐рдпрддрд╛ рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред

@nrk рдореИрдВ рдбреЗрдореЙрди рдкреНрд░реЛрд╕реЗрд╕реЗрд╕ (рд▓рд╛рд░рд╡реЗрд▓ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛) рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдирд┐рдпрдорд┐рдд рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
'read_write_timeout' => -1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╛рд╡рдзрд╛рдиреА?
рдореИрдВ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рд░рдг рд░реЗрдбрд┐рд╕ рдХреЗ рдЕрдкрдиреЗ рдирд┐рдпрдорд┐рдд рдХреИрд╢рд┐рдВрдЧ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЯреВрдЯрдиреЗ рдпрд╛ рдмрдЧ рдХреА рдХрд┐рд╕реА рднреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛!

рдзрдиреНрдпрд╡рд╛рдж !

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

stephenlb picture stephenlb  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

luoxun picture luoxun  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

koda0611 picture koda0611  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mnvx picture mnvx  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jackyxie picture jackyxie  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ