PHP рдорд╛рдЗрдХреНрд░реЛрд╕рд╡рд░реНрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ: Swoft v2.0.7 рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рдЬрд╛рд░реА рдХрд░реЗрдВ


Swoft рдХреНрдпрд╛ рд╣реИ?


Swoft рдПрдХ PHP рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди microservice coroutine рдврд╛рдВрдЪрд╛ рд╣реИред рдпрд╣ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ php рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдмрди рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЧреЛ, рдмрд┐рд▓реНрдЯ-рдЗрди рдХреЛрд░рдЯрд╛рдЗрди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдФрд░ рдХреЙрдорди рдХреЙрдЙрдЯрдЖрдЙрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрд╛рд░рдВрдкрд░рд┐рдХ PHP-FPM рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреНрд▓рд╛рдЙрдб рдврд╛рдВрдЪреЗ рдХреЗ рд╕рдорд╛рди рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рдорд╛рди рдЧреЛ рднрд╛рд╖рд╛ рд╕рдВрдЪрд╛рд▓рди рднреА рд╣реИрдВред


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


Github


https://github.com/swoft-cloud/swoft


рд╕реНрд╡рд┐рдлреНрдЯ v2.0.7


Swoft v2.0.7 v2.0.6 рдкрд░ рд╕реЗрд▓ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдФрд░ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реБрдзрд╛рд░ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХрд┐рдП рд╣реИрдВред


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

Http рд╕рддреНрд░


рд╕рдВрдЧреАрддрдХрд╛рд░ / рд╕рддреНрд░ рдШрдЯрдХ рдХреЛ рдХрдВрдкреЛрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


  • рдирд┐рд╖реНрдкрд╛рджрд┐рдд composer require swoft/session рдХреЛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ composer require swoft/session рдЬрд╣рд╛рдБ рдкреНрд░реЛрдЬреЗрдХреНрдЯ composer require swoft/session рд╕реНрдерд┐рдд рд╣реИред
  • рд╡реИрд╢реНрд╡рд┐рдХ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдореЗрдВ Swoft\Http\Session\SessionMiddleware рдорд┐рдбрд▓рд╡реЗрдпрд░ рдЬреЛрдбрд╝реЗрдВ

app/bean.php :


  'httpDispatcher' => [ // Add global http middleware 'middlewares' => [ \Swoft\Http\Session\SessionMiddleware::class, ], ], 

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, runtime/sessions рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ

рдбреНрд░рд╛рдЗрд╡рд░ рдкрд░ рдЕрдзрд┐рдХ рдХреЗрд╡рд▓ рдЗрд╕реА handler рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Redis рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:


 'sessionHandler' => [ 'class' => RedisHandler::class, // Config redis pool 'redis' => bean('redis.pool') ], 

Websocket рдореИрд╕реЗрдЬрд┐рдВрдЧ рдорд┐рдбрд▓рд╡реЗрдпрд░


  • рдЧреНрд▓реЛрдмрд▓ рдорд┐рдбрд┐рд▓рд╡реЗрдпрд░

app/bean.php рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛:


  /** @see \Swoft\WebSocket\Server\WsMessageDispatcher */ 'wsMsgDispatcher' => [ 'middlewares' => [ \App\WebSocket\Middleware\GlobalWsMiddleware::class ], ], 

  • рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдЕрднрд┐рдирдп

 /** * Class HomeController * * @WsController(middlewares={DemoMiddleware::class}) */ class TestController {} 

рдЯреАрд╕реАрдкреА рдЕрдиреБрд░реЛрдз рдорд┐рдбрд▓рд╡реЗрдпрд░


  • рдЧреНрд▓реЛрдмрд▓ рдорд┐рдбрд┐рд▓рд╡реЗрдпрд░

app/bean.php рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛:


  /** @see \Swoft\Tcp\Server\TcpDispatcher */ 'tcpDispatcher' => [ 'middlewares' => [ \App\Tcp\Middleware\GlobalTcpMiddleware::class ], ], 

  • рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдЕрднрд┐рдирдп

 /** * Class DemoController * * @TcpController(middlewares={DemoMiddleware::class}) */ class DemoController { // .... } 

рдЕрджреНрдпрддрди рд▓реЙрдЧ


рдпреБрдХреНрддрд┐рдпрд╛рдБ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ:
  • Swoole\WebSocket\Server::push рдЪреМрдерд╛ рдкреИрд░рд╛рдореАрдЯрд░ $finish рдХреЛ swoole 4.4.12 рдмрд╛рдж int рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ред
  • TcpServerEvent::CONNECT tcp рд╕рд░реНрд╡рд░ рдХрд╛ TcpServerEvent::CONNECT рдЗрд╡реЗрдВрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдФрд░ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реА рд░рд╣рддрд╛ рд╣реИред $fd, $server рд╕реНрд╡реИрдк рд╕реНрдерд┐рддрд┐ред


Github


https://github.com/swoft-cloud/swoft


рдлрд┐рдХреНрд╕реНрдб :


  • рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╕рдордп, рдпрджрд┐ рдорд╛рди рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди d84d50a7 рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛
  • Ws рд╕рд░реНрд╡рд░ рдореЗрдВ рдореИрд╕реЗрдЬ рд╢реЗрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдлрд┐рдХреНрд╕реНрдб, рдХреЛрдИ рдЦрд╛рд▓реА рдбреЗрдЯрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реБрдИред рд╡рд┐рдзрд┐ swoft-cloud / swoft рд╕реЗ рдмрдЪреЗрдВ # 1002 [d84d50a7] ( https://github.com/swoft-cloud/swoft-component/ Pull / 522 / commits / d84d50a76c4ff7d19dc0896868745cfe8f0d93c9)
  • Tcp рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕рдВрджреЗрд╢ рд╕рдордп-рдирд┐рд░реНрдзрд╛рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдлрд┐рдХреНрд╕реНрдб, рдХреЛрдИ рдЦрд╛рд▓реА рдбреЗрдЯрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реБрдИред 07a01ba1
  • рдХрдВрд╕реЛрд▓ рдШрдЯрдХ рдХрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ c569c81a рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдлрд┐рдХреНрд╕реНрдб рд▓рд╛рдкрддрд╛ рд╕реНрд╡рд┐рдлреНрдЯ / stdlib рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд┐рд░реНрднрд░рддрд╛
  • рдирд┐рд╢реНрдЪрд┐рдд ArrayHelper::get рдЬрдм рдЗрдирдкреБрдЯ рдХреБрдВрдЬреА рдкреВрд░реНрдгрд╛рдВрдХ рд╣реЛрддреА рд╣реИ, рддреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЧрд▓рдд a44dcad рд╣реЛрддрд╛ рд╣реИ
  • рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрд╕реЛрд▓ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рдареАрдХ рдХрд░реЗрдВ, рдЬрдм рдЗрдВрдЯ рд╡реИрд▓реНрдпреВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реБрдП, рдЪреМрдбрд╝рд╛рдИ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ 74a835ab рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ

  • рдШрдЯрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рддреНрд░реБрдЯрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╕реНрддрд░ 4c78aeb рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ
  • рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдФрд░ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдШрдЯрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ isEnable() da8c51e56 рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
  • рдлрд╝рд┐рдХреНрд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ uniqid() рдореЗрдердб рдореЗрдВ uniqid() рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рд╕рд╣реА c7f688f
  • рд╕рд╛рдЗрдмрд░рд╡рд┐рди рдорд╛рд╣реМрд▓ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реАрд░реНрд╖рдХ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдФрд░ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг c466f6a рд╣реИ
  • Http response->delCookie() 8eb9241 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдХреА рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде
  • рдлрд┐рдХреНрд╕реНрдб ws рд╕рд░реНрд╡рд░ рдореИрд╕реЗрдЬ рдбрд┐рд╕реНрдкреИрдЪ рдХрд░рдирд╛, рдкреНрд░рд╛рдкреНрдд рдПрдХреНрд╕рдЯреНрд░реАрдо рдбреЗрдЯрд╛ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдПрдХ рдПрд░рд░ рд╣реЛ, рдЬрд┐рд╕рд╕реЗ ff45b35 рдПрд░рд░ рд╣реЛ
  • C195413 рддрдХ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдареАрдХ рдХрд░реЗрдВ
  • рд▓реЙрдЧ JSON рдкреНрд░рд╛рд░реВрдк рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ a3fc6b9 рдХреЛ рдареАрдХ рдХрд░реЗрдВ
  • рдлрд┐рдХреНрд╕реНрдб getList рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рддрд╛ getList рдХреЙрд▓ рджреЛ рдмрд╛рд░ fd03e71
  • рдлрд┐рдХреНрд╕ redis cluster 7a678f рдХреЗ рдорд╛рдирдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
  • рдореЙрдбрд▓ рдХреНрд╡реЗрд░реА json рдкреНрд░рдХрд╛рд░ рдХреЛ рдареАрдХ рдХрд░реЗрдВ, array 6023a9 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
  • рдлрд┐рдХреНрд╕реНрдб рд░реЗрдбрд┐рд╕ multi рдСрдкрд░реЗрд╢рди e5f698 рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ
  • рдлрд┐рдХреНрд╕ рд░реЗрдбрд┐рд╕ expireAt , geoRadius 749241 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
  • рдлрд┐рдХреНрд╕реНрдб crontab рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рд╡рд┐рдЪрд▓рди рд╕рдорд╕реНрдпрд╛ eb08a46

рдЕрджреНрдпрддрди (рдЕрджреНрдпрддрди) :


  • рдЕрдкрдбреЗрдЯ рдХрдВрд╕реЛрд▓ рдорджрдж рд╕рдВрджреЗрд╢ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдИрд╡реЗрдВрдЯ рднреА рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ ConsoleEvent::SHOW_HELP_BEFORE d3f7bc3
  • Http, ws, tcp, rpc рд╕рд░реНрд╡рд░ рдкреНрд░рдмрдВрдзрди рдХрдорд╛рдВрдб рд▓реЙрдЬрд┐рдХ f202c826 рдХреЛ рд╕рд░рд▓ рдФрд░ рдПрдХреАрдХреГрдд рдХрд░реЗрдВ
  • newFromArray рдФрд░ tcp рдХрдиреЗрдХреНрд╢рди рд╡рд░реНрдЧреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ newFromArray рдФрд░ newFromArray рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд╕реНрдЯреЛрд░реЗрдЬ ( redis ) [a8b0b7c] ( https:// github -swoft-cloud/swoft-swponent / redis ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдФрд░ newFromArray рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдВред / 528 / рдХрдорд┐рдЯ / a8b0b7c77d56d4392eba75d13a911816b9dc0cee)
  • рдПрдХ рдпреВрдирд┐рдлрд╝рд╛рдЗрдб рд╕реНрд╡реЙрдЗрд▓ рдкрд╛рдЗрдк рд╕рдВрджреЗрд╢ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ, ws рдореЗрдВ рд╕реНрд╡реЙрдЯ рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрд╕ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП tcp 1c51a8c

рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ :


  • рдЕрдм tcp рдЕрдиреБрд░реЛрдз рд╡реИрд╢реНрд╡рд┐рдХ рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЙрдкрдпреЛрдЧ http рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рд╕рдорд╛рди рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ 6b593877 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧреА
  • рдЕрдм рд╡реЗрдмрд╕реЛрдХреЗрдЯ рд╕рдВрджреЗрд╢ рдЕрдиреБрд░реЛрдз рд╡реИрд╢реНрд╡рд┐рдХ рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдзрд┐ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЙрдкрдпреЛрдЧ http рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рд╕рдорд╛рди рд╣реИред рдХреЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ 9739815 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧреА
  • рдЗрд╡реЗрдВрдЯ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ destroyAfterFire рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдИрд╡реЗрдВрдЯ рдХреЛ 50bf43d3 рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж рдШрдЯрдирд╛ рдореЗрдВ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
  • рдбреЗрдЯрд╛рдмреЗрд╕ рддреНрд░реБрдЯрд┐ рдЕрдкрд╡рд╛рдж рдЬреЛрдбрд╝рд╛ code рд░рд┐рдЯрд░реНрди fd306f4
  • Coroutine рдлрд╝рд╛рдЗрд▓ рдСрдкрд░реЗрд╢рди рд░рд╛рдЗрдЯрдлрд▓ рдирдпрд╛ рд▓реЗрдЦрди рд╡рд┐рдлрд▓рддрд╛ рдЕрдкрд╡рд╛рдж 08c4244
  • рдЖрд░рдкреАрд╕реА рдирдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рддреНрдпрд╛рдкрди 8646fc5

Github


https://github.com/swoft-cloud/swoft

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


All Articles