改名
This commit is contained in:
@@ -22,9 +22,21 @@ class Redis implements StopHeartbeatCheck
|
|||||||
|
|
||||||
private ?\Redis $pdo = null;
|
private ?\Redis $pdo = null;
|
||||||
|
|
||||||
|
public string $host;
|
||||||
|
|
||||||
private int $_transaction = 0;
|
public int $port;
|
||||||
|
|
||||||
|
public int $database = 0;
|
||||||
|
|
||||||
|
public string $auth = '';
|
||||||
|
|
||||||
|
public string $prefix = '';
|
||||||
|
|
||||||
|
public int $timeout = 30;
|
||||||
|
|
||||||
|
public int $read_timeout = 30;
|
||||||
|
|
||||||
|
public array $pool = [];
|
||||||
|
|
||||||
private int $_timer = -1;
|
private int $_timer = -1;
|
||||||
|
|
||||||
@@ -32,18 +44,18 @@ class Redis implements StopHeartbeatCheck
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $host
|
* @param array $config
|
||||||
* @param int $port
|
|
||||||
* @param int $database
|
|
||||||
* @param string $auth
|
|
||||||
* @param string $prefix
|
|
||||||
* @param int $timeout
|
|
||||||
* @param int $read_timeout
|
|
||||||
*/
|
*/
|
||||||
public function __construct(public string $host, public int $port, public int $database = 0,
|
public function __construct(array $config)
|
||||||
public string $auth = '', public string $prefix = '', public int $timeout = 30,
|
|
||||||
public int $read_timeout = 30)
|
|
||||||
{
|
{
|
||||||
|
$this->host = $config['host'];
|
||||||
|
$this->port = $config['port'];
|
||||||
|
$this->database = $config['database'];
|
||||||
|
$this->auth = $config['auth'];
|
||||||
|
$this->prefix = $config['prefix'];
|
||||||
|
$this->timeout = $config['timeout'];
|
||||||
|
$this->read_timeout = $config['read_timeout'];
|
||||||
|
$this->pool = $config['pool'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -77,7 +89,7 @@ class Redis implements StopHeartbeatCheck
|
|||||||
Kiri::getDi()->get(Logger::class)->critical('timer end');
|
Kiri::getDi()->get(Logger::class)->critical('timer end');
|
||||||
$this->stopHeartbeatCheck();
|
$this->stopHeartbeatCheck();
|
||||||
}
|
}
|
||||||
if (time() - $this->_last > 10 * 60) {
|
if (time() - $this->_last > intval($this->pool['tick'] ?? 60)) {
|
||||||
$this->stopHeartbeatCheck();
|
$this->stopHeartbeatCheck();
|
||||||
$this->pdo = null;
|
$this->pdo = null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class Redis extends Component
|
|||||||
|
|
||||||
$config = $this->get_config();
|
$config = $this->get_config();
|
||||||
|
|
||||||
$length = Config::get('connections.pool.max', 10);
|
$length = Config::get('cache.redis.pool.max', 10);
|
||||||
|
|
||||||
$this->eventProvider->on(OnWorkerExit::class, [$this, 'destroy'], 0);
|
$this->eventProvider->on(OnWorkerExit::class, [$this, 'destroy'], 0);
|
||||||
|
|
||||||
|
|||||||
@@ -50,11 +50,7 @@ class Redis extends Component
|
|||||||
public function create(string $name, mixed $config): Closure
|
public function create(string $name, mixed $config): Closure
|
||||||
{
|
{
|
||||||
return static function () use ($name, $config) {
|
return static function () use ($name, $config) {
|
||||||
return Kiri::getDi()->create(\Kiri\Cache\Base\Redis::class, [
|
return Kiri::getDi()->create(\Kiri\Cache\Base\Redis::class, $config);
|
||||||
$config['host'], (int)$config['port'], $config['databases'] ?? 0,
|
|
||||||
$config['auth'], $config['prefix'] ?? '', $config['timeout'] ?? 30,
|
|
||||||
$config['read_timeout'] ?? 30
|
|
||||||
]);
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user