make(SystemConfigServices::class); return $service->getConfigValue($key, $type, $relationId); }; try { if ($isCaChe) { return $callable(); } $value = CacheService::redisHandler(self::getTag())->remember($cacheName, $callable, self::EXPIRE_TIME); self::$relationId = 0; self::$type = 0; return $value; } catch (\Throwable $e) { return $default; } } /** * 获取多个配置 * @param array $keys 示例 [['appid','1'],'appkey'] * @param bool $isCaChe 是否获取缓存配置 * @return array */ public static function more(array $keys, bool $isCaChe = false) { $cacheName = self::CACHE_SYSTEM . ':' . md5(implode(',', $keys) . (self::$type ? '_' . self::$type : '') . (self::$relationId ? '_' . self::$relationId : '')); $type = self::$type; $relationId = self::$relationId; $callable = function () use ($keys, $type, $relationId) { /** @var SystemConfigServices $service */ $service = app()->make(SystemConfigServices::class); return Arr::getDefaultValue($keys, $service->getConfigAll($keys, $type, $relationId)); }; try { if ($isCaChe) return $callable(); $value = CacheService::redisHandler(self::getTag())->remember($cacheName, $callable, self::EXPIRE_TIME); self::$relationId = 0; self::$type = 0; return $value; } catch (\Throwable $e) { return Arr::getDefaultValue($keys); } } /** * 清空配置缓存 * @return bool|void */ public static function clear() { try { return CacheService::redisHandler(self::getTag())->clear(); } catch (\Throwable $e) { \think\facade\Log::error('清空配置缓存失败:原因:' . $e->getMessage()); return false; } } }