Merge remote-tracking branch 'origin/master'

This commit is contained in:
2022-01-04 16:05:08 +08:00
+20
View File
@@ -19,6 +19,7 @@ use Kiri\Kiri;
use Kiri\Pool\Redis as PoolRedis;
use Note\Inject;
use Server\Events\OnWorkerExit;
use Swoole\Timer;
/**
* Class Redis
@@ -80,6 +81,25 @@ class Redis extends Component
}
/**
* @param $key
* @param int $timeout
* @return bool
*/
public function waite($key, int $timeout = 5): bool
{
$time = time();
while (!$this->setNx($key, 1)) {
if (time()- $time >= $timeout) {
return FALSE;
}
usleep(1000);
}
$this->expire($key, $timeout);
return TRUE;
}
/**
* @param $key
* @param int $timeout