将缓存方法设置为Redis时,似乎会增加加载电子表格和阅读内容的运行时间。
在使用PHPSpreadsheet类的任何部分之前,我需要运行以下
if(CACHE_ON){
$client = new \Redis();
$client->connect(CACHE_HOST, 6379);
$pool = new \Cache\Adapter\Redis\RedisCachePool($client);
$simpleCache = new \Cache\Bridge\SimpleCache\SimpleCacheBridge($pool);
\PhpOffice\PhpSpreadsheet\Settings::setCache($simpleCache);
}
//...
try {
$fileType = IOFactory::identify($uploadFile);
} catch(\PhpOffice\PhpSpreadsheet\Reader\Exception $e) {
$message = 'Input file is not an Excel Workbook. Please save as an Excel Workbook and try again.';
$this->log->error('Error loading file: '.$e->getMessage() . mime_content_type($uploadFile) . $message);
return ['error'=>true,'message'=>$message];
}
我不明白为什么它会使时间增加1/2秒。这是正常行为还是我需要更新Redis中的任何内容?
答案 0 :(得分:0)
也许您可以使用redis连接池,不需要时不使用redis,可以提前准备。