initialize static method

Future<void> initialize({
  1. CacheStrategyType strategyType = CacheStrategyType.memory,
  2. bool enableAutoClean = true,
  3. Duration autoCleanInterval = const Duration(hours: 1),
  4. int maxCacheSizeMB = 100,
})

初始化

Implementation

static Future<void> initialize({
  CacheStrategyType strategyType = CacheStrategyType.memory,
  bool enableAutoClean = true,
  Duration autoCleanInterval = const Duration(hours: 1),
  int maxCacheSizeMB = 100,
}) async {
  _autoCleanEnabled = enableAutoClean;
  _autoCleanInterval = autoCleanInterval;

  // 根据类型选择策略
  switch (strategyType) {
    case CacheStrategyType.memory:
      _strategy = MemoryCacheStrategy();
      break;
    case CacheStrategyType.drift:
      _strategy = DriftCacheStrategy();
      break;
  }

  await _strategy!.initialize(
    enableAutoClean: enableAutoClean,
    autoCleanInterval: autoCleanInterval,
    maxCacheSizeMB: maxCacheSizeMB,
  );

  if (_autoCleanEnabled) {
    _startAutoClean();
  }
}