This commit is contained in:
2021-08-17 19:01:37 +08:00
parent 51860d34c7
commit cfd8f6fa94
3 changed files with 20 additions and 6 deletions
+1 -1
View File
@@ -126,7 +126,7 @@ SCRIPT;
public function destroy()
{
$connections = Kiri::getDi()->get(PoolRedis::class);
$connections->destroy($this->get_config(), true);
$connections->connection_clear($this->get_config(), true);
}
/**
+4 -1
View File
@@ -3,12 +3,15 @@ declare(strict_types=1);
namespace Kiri\Pool;
use Annotation\Inject;
use Closure;
use Database\Mysql\PDO;
use Exception;
use Http\Context\Context;
use Kiri\Abstracts\Component;
use Kiri\Events\EventProvider;
use Kiri\Kiri;
use Server\Events\OnWorkerExit;
use Swoole\Error;
use Throwable;
@@ -34,7 +37,7 @@ class Connection extends Component
$name = $this->name('Mysql:' . $cds, true);
$connection = Context::getContext($name);
if ($connection instanceof PDO) {
$connection->inTransaction();
return $connection->inTransaction();
}
return false;
}
+15 -4
View File
@@ -5,16 +5,15 @@ declare(strict_types=1);
namespace Kiri\Pool;
use Annotation\Inject;
use Closure;
use Exception;
use Http\Context\Context;
use Kiri\Abstracts\Component;
use Kiri\Events\EventProvider;
use Kiri\Exception\ConfigException;
use Kiri\Exception\RedisConnectException;
use Kiri\Kiri;
use Redis as SRedis;
use Swoole\Coroutine;
use Swoole\Runtime;
use Server\Events\OnWorkerExit;
/**
* Class RedisClient
@@ -90,6 +89,18 @@ class Redis extends Component
}
/**
* @param array $config
* @param bool $isMaster
* @throws Exception
*/
public function connection_clear(array $config, bool $isMaster = false)
{
$coroutineName = $this->name('Redis:' . $config['host'], $isMaster);
$this->getPool()->clean($coroutineName);
}
/**
* @return Pool
* @throws Exception