рдЧрд┐рдмреНрд╕рди рдХреИрд╢ рд╕рд░реНрд╡рд░

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

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

рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ:

рд╕реНрдерд╛рдкрдирд╛


рд╕рд░реНрд╡рд░

рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╕рд░реНрд╡рд░ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдпрд╣рд╛рдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
git clone https://github.com/evilsocket/gibson.git cd gibson make -G ┬лUnix Makefiles┬╗ . make sudo make install 

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /etc/gibson/gibson.conf рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ
рд╡реИрд╕реЗ, рд╕рд░реНрд╡рд░ рдХреЛ -c рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЧреНрд░рд╛рд╣рдХ

рд╕реВрддреНрд░ рдпрд╣рд╛рдВ рд╣реИрдВ
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рдорд╛рди рд╣реИред рдХреЗрд╡рд▓ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд▓рд┐рдиреЗрдиреЛрдЗрдЬрд╝ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб ./src/linenoise рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреЗ рдмрд╛рдж
 git clone https://github.com/evilsocket/libgibsonclient cd libgibsonclient make -G ┬лUnix Makefiles┬╗ . make 

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ "рд╕рдЬреНрдЬрди рдХрд╛ рд╕реЗрдЯ" рд╣реИ: рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЦреБрдж рдФрд░ рдЧрд┐рдмреНрд╕рди-рдХреНрд▓реАред

рдкреНрд░рджрд░реНрд╢рди


рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдЖрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреАред
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 deck@crunch ~/work/libgibsonclient $ ./gibson-cli -u /tmp/gibson.sock type :help or :h for a list of commands, :quit or :q to quit. local> :h SET <ttl> <key> <value> TLL <key> <ttl> GET <key> DEL <key> INC <key> DEC <key> LOCK <key> <seconds> UNLOCK <key> MSET <prefix> <value> MTTL <prefix> <ttl> MGET <prefix> MDEL <prefix> MINC <prefix> MDEC <prefix> MLOCK <prefix> <seconds> MUNLOCK <prefix> COUNT <prefix> STATS PING SIZEOF <key> MSIZEOF <prefix> ENCOF <key> 


рдорд╛рдирдХ рд╕реЗрдЯ / рдорд┐рд▓рддрд╛ рд╣реИ
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 local> set 0 foo 5 <STRING> 5 local> get foo <STRING> 5 


рдФрд░ рдЯреАрдЯреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ред
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 local> set 3 bar hi! <STRING> hi! local> get bar <STRING> hi! local> get bar <REPL_ERR_NOT_FOUND> 


рдЦреИрд░, рдХрдИ рдорд┐рд▓ / рд╕реЗрдЯ
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 local> set 0 score:user1 400 <STRING> 400 local> set 0 score:user2 100 <STRING> 100 local> set 0 score:user3 900 <STRING> 900 local> mget score score:user1 => <STRING> 400 score:user2 => <STRING> 100 score:user3 => <STRING> 900 local> mset score 0 <NUMBER> 3 local> mget score score:user1 => <STRING> 0 score:user2 => <STRING> 0 score:user3 => <STRING> 0 



рдЙрддреНрдкрд╛рджрдХрддрд╛


рдбреЗрд╡рд▓рдкрд░ рдХреА рд╕рд╛рдЗрдЯ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕рдиреЗ рдорд╢реАрди рдкрд░ рдкреНрд░рд╛рдкреНрдд / рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдХрд┐рдпрд╛ рдерд╛
рдЗрдВрдЯреЗрд▓ рдХреЛрд░ (TM) i3-2130 CPU @ 3.40GHz рдореЗрдВ 8GB RAM рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдмрд┐рдпрди рд╕реНрдХреНрд╡реАрдЬрд╝ рд╣реИред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рддреБрд▓рдирд╛ рд░реЗрдбрд┐рд╕ рд╕реЗ рдХреАред рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
Redis
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 $ redis-benchmark -c 1 -n 100000 -q -t SET SET: 51519.84 requests per second $ redis-benchmark -c 1 -n 100000 -q -t GET GET: 49212.60 requests per second 


рдЧрд┐рдмреНрд╕рди
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда
 @ Created 100000 / 100000 in 1216ms -- 82236.842105 Req/s @ Verified : 100000 / 100000 in 1145ms -- 87336.244541 Req/s 


рдпрджрд┐ рдЪрд╛рд▓рд╛рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдЧрд┐рдмреНрд╕рди рдореЗрдВ 60 рдкреНрд░рддрд┐рд╢рдд рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред

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


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

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


All Articles