redis_pool.php 691 B

1234567891011121314151617181920212223
  1. <?php
  2. $count = 0;
  3. $pool = new SplQueue();
  4. $server = new Swoole\Http\Server('127.0.0.1', 9501, SWOOLE_BASE);
  5. $server->on('Request', function($request, $response) use(&$count, $pool) {
  6. if (count($pool) == 0) {
  7. $redis = new Swoole\Coroutine\Redis();
  8. $res = $redis->connect('127.0.0.1', 6379);
  9. if ($res == false) {
  10. $response->end("redis connect fail!");
  11. return;
  12. }
  13. $pool->enqueue($redis);
  14. }
  15. $redis = $pool->dequeue();
  16. $count ++;
  17. $ret = $redis->set('key', 'value');
  18. $response->end("swoole response is ok, count = $count, result=" . var_export($ret, true));
  19. $pool->enqueue($redis);
  20. });
  21. $server->start();