From 12610c218c8346fa9f3b82fa59fd6b000e1b069a Mon Sep 17 00:00:00 2001 From: Administrator Date: Tue, 4 Jan 2022 00:07:14 +0800 Subject: [PATCH 1/2] 1 --- kiri-engine/Cache/Redis.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/kiri-engine/Cache/Redis.php b/kiri-engine/Cache/Redis.php index bb0cb632..7b6bf4be 100644 --- a/kiri-engine/Cache/Redis.php +++ b/kiri-engine/Cache/Redis.php @@ -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 From 623bae9e97d87533a8c02a2e86f6dd4f8101aaf8 Mon Sep 17 00:00:00 2001 From: Administrator Date: Tue, 4 Jan 2022 00:07:26 +0800 Subject: [PATCH 2/2] 1 --- kiri-engine/Cache/Redis.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kiri-engine/Cache/Redis.php b/kiri-engine/Cache/Redis.php index 7b6bf4be..cc7a602e 100644 --- a/kiri-engine/Cache/Redis.php +++ b/kiri-engine/Cache/Redis.php @@ -90,7 +90,7 @@ class Redis extends Component { $time = time(); while (!$this->setNx($key, 1)) { - if (time()- $time >= $timeout){ + if (time()- $time >= $timeout) { return FALSE; } usleep(1000);