settingRepository->getModel(); } public function getByKey(string $key = '') { $cacheKey = $this->getCacheKey('setting_getByKey:'.$key); return Cache::remember($cacheKey, $this->cacheTime, function () use ($key) { return $this->settingRepository->getByKey($key); }); } public function updateOrCreateByKey(string $key, array $data = []) { $this->clearCacheByKey($key); return $this->settingRepository->updateOrCreateByKey($key, $data); } public function clearCacheByKey(string $key): void { $cacheKey = $this->getCacheKey("setting_getByKey:{$key}"); Cache::forget($cacheKey); } }