BRPop.php 801 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace EasySwoole\Redis\CommandHandle;
  3. use EasySwoole\Redis\CommandConst;
  4. use EasySwoole\Redis\Redis;
  5. use EasySwoole\Redis\Response;
  6. class BRPop extends AbstractCommandHandle
  7. {
  8. public $commandName = 'BRPop';
  9. public function handelCommandData(...$data)
  10. {
  11. $keys=array_shift($data);
  12. $timeout=array_shift($data);
  13. if (is_string($keys)){
  14. $keys = [$keys];
  15. }
  16. $command = array_merge([CommandConst::BRPOP],$keys);
  17. $command[] = $timeout;
  18. $commandData = $command;
  19. return $commandData;
  20. }
  21. public function handelRecv(Response $recv)
  22. {
  23. $data = $recv->getData();
  24. if (is_array($data)){
  25. return [$data[0] => $this->unSerialize($data[1])];
  26. }else{
  27. return $data;
  28. }
  29. }
  30. }