From 4b8a9a15384f3cb629672fd843ab6439ea354b82 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 24 Apr 2026 17:55:47 +0200 Subject: [PATCH] perf: delay loading storage info in Cache untill needed Signed-off-by: Robin Appelman --- lib/private/Files/Cache/Cache.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/private/Files/Cache/Cache.php b/lib/private/Files/Cache/Cache.php index cee84b9c8c6b0..5aee32c378745 100644 --- a/lib/private/Files/Cache/Cache.php +++ b/lib/private/Files/Cache/Cache.php @@ -62,7 +62,7 @@ class Cache implements ICache { */ protected array $partial = []; protected string $storageId; - protected Storage $storageCache; + protected ?Storage $storageCache = null; protected IMimeTypeLoader $mimetypeLoader; protected IDBConnection $connection; protected SystemConfig $systemConfig; @@ -70,6 +70,7 @@ class Cache implements ICache { protected QuerySearchHelper $querySearchHelper; protected IEventDispatcher $eventDispatcher; protected IFilesMetadataManager $metadataManager; + private CacheDependencies $cacheDependencies; public function __construct( private IStorage $storage, @@ -84,7 +85,7 @@ public function __construct( if (!$dependencies) { $dependencies = Server::get(CacheDependencies::class); } - $this->storageCache = new Storage($this->storage, true, $dependencies->getConnection()); + $this->cacheDependencies = $dependencies; $this->mimetypeLoader = $dependencies->getMimeTypeLoader(); $this->connection = $dependencies->getConnection(); $this->systemConfig = $dependencies->getSystemConfig(); @@ -102,6 +103,9 @@ protected function getQueryBuilder() { } public function getStorageCache(): Storage { + if (!$this->storageCache) { + $this->storageCache = new Storage($this->storage, true, $this->cacheDependencies->getConnection()); + } return $this->storageCache; } @@ -112,7 +116,7 @@ public function getStorageCache(): Storage { */ #[\Override] public function getNumericStorageId() { - return $this->storageCache->getNumericId(); + return $this->getStorageCache()->getNumericId(); } /**