
Redis nosql рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛, рдЬреЛ рдХрд┐ рд▓рдЧрднрдЧ рд╣рд░ рд▓реЗрдЦ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд╣реИ, рд╣рдо рдЗрд╕ рдХрдерди рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЧрддрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ, рд░реИрдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд▓реЗрдХрд┐рди рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рд░реЗрдбрд┐рд╕ рд▓реЛрдб рд╕реЗ рдлрдЯрд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рд╕реНрдерд┐рддрд┐ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред
рдлрд┐рд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?рдкреНрд░рддрд┐рдХреГрддрд┐
рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ, рд╡рд╣ рд╣реИ рдПрдХ рдорд╛рд╕реНрдЯрд░-рд╕реНрд▓реЗрд╡ рдмрдВрдбрд▓ рдмрдирд╛рдХрд░ рджреВрд╕рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд░реАрдб рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЛ рдЙрд╕рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ред
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
рдЖрдк рдПрдХ рдЖрдзрд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд░реЗрдбрд┐рд╕ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХрдИ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдкрдврд╝рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд╛рд╕ рдард┐рдХрд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рд╡рд┐рдкрдХреНрд╖:
рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВред
рд▓реЗрдЦрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣реЗрдЧреАред рджрд╛рд╕ рдЖрдзрд╛рд░реЛрдВ рд╕реЗ рд╣рдо рдХреЗрд╡рд▓ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗрд╡рд▓ рдорд╛рд╕реНрдЯрд░ рдмреЗрд╕ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд░реЗрдбрд┐рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХрдорд╛рдВрдб рд╕реЗ рдлрд╛рдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╣рдореЗрдВ рдХреЛрдИ рддреНрд╡рд░рдг рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред
рд╕рдореВрд╣
рджреВрд╕рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд░реЗрдбрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рдирд╛ рд╣реИред
рдХреНрд▓рд╕реНрдЯрд░ рд▓рд╛рдн:
рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рдХреНрд▓рд╕реНрдЯрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдирдП рдЖрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд░реЗрдбрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреГрддрд┐ рдЬреЛрдбрд╝рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд░реАрдб рдСрдкрд░реЗрд╢рди рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рд░рд╣реА рд╣реИред
рдЖрдзрд╛рд░ рдХрд╛ рдЖрдХрд╛рд░ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ 32 рдЬреАрдмреА рдореЗрдореЛрд░реА рд╡рд╛рд▓реЗ 8 рд╕рд░реНрд╡рд░ рдПрдХ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИрдВред
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдмрд╕ рдЖрдзрд╛рд░ рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝рд╛рдПрдВред 64 рдЬреАрдмреА рдХреЗ 8 рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде 32 рдЬреАрдмреА рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде 8 рд╕рд░реНрд╡рд░ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рддреБрд░рдВрдд рдЕрдзрд┐рдХрддрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЖрдХрд╛рд░ 128 рдЬреАрдмреА рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ (рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд░реЗрдбрд┐рд╕ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░реИрдо рдХреА рдорд╛рддреНрд░рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдХрдо рд╕реЗ рдХрдо 2 рдЧреБрдирд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП)ред рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░реИрдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░реНрд╡рд░ рдХреЛ рджреВрд╕рд░реЗ рдХреА рдЬрдЧрд╣ рд▓реЗрдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред
рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╡рд┐рдкрдХреНрд╖:
рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВред
рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдпрд╣ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдФрд░ рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рдмреЗрд╕ рдХрд╛ рдЕрдкрдирд╛ рддрд░реНрдХ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред
рд╢реБрд░реВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рд╕рдорд╛рдкреНрдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд
рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛
рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред
рдЕрдм рджреЛ рд╕рд╛рд▓ рд╕реЗ рдореИрдВ рд░реЗрдбрд┐рд╕ рдХреЛ рдЕрддреНрдпрдзрд┐рдХ рднрд░реА рд╣реБрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдореБрдЦреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред (рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓)ред рдЗрд╕ рдмрд╛рд░, рд░реЗрдбрд┐рд╕ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд░реЗрдбрд┐рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреБрд▓ рд╕рдорд╛рдзрд╛рди рдЬрд╛рд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред рд╡реЗ рд╡рд╛рджрд╛ рдХрд┐рдП рдЧрдП рддреАрди рд╕рд╛рд▓ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡реЗ рдЕрдкрдиреЗ рдлреИрд╕рд▓реЗ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдЦреБрдж рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рдореИрдВ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣рд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд░реЗрдбрд┐рд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдореИрдВ рддреБрд░рдВрдд рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 8 рдиреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдпрджрд┐ 1 рд░реЗрдбрд┐рд╕-рдмреЗрд╕ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рддреЛ 8 рд░реЗрдбрд┐рд╕-рдмреЗрд╕ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред
рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд▓реЛрдб рдХреЗ рддрд╣рдд рджреЛ рд╕рд╛рд▓ рдХреЗ рдХреНрд▓рд╕реНрдЯрд░ рдСрдкрд░реЗрд╢рди рдиреЗ рдЗрд╕рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рджрд┐рдЦрд╛рдИ рд╣реИред
рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧ github -
github.com/dfer/myredis рд╕реЗ рдирдореВрдирд╛ рдХреЛрдб рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдкреБрдирд╢реНрдЪ
рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЬрдм рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд░реЗрдбрд┐рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдПрдХ рд░реЗрдбрд┐рд╕ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд 2 рд▓реЗрдЦреЛрдВ рдиреЗ рдореЗрд░реА рдорджрдж рдХреА:
oldblog.antirez.com/post/redis-presharding.htmlblog.zawodny.com/2011/02/26/redis-sharding-at-craigslistрдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╕рдорд╛рдзрд╛рди рдФрд░ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрдо рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ рд░реЗрдбрд┐рд╕ рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред