Просмотр исходного кода

fix: 加上 - 分隔符来避免跨前缀误匹配

layhuts 1 месяц назад
Родитель
Сommit
9667232684
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      packages/@core/base/shared/src/cache/storage-manager.ts

+ 4 - 2
packages/@core/base/shared/src/cache/storage-manager.ts

@@ -27,7 +27,8 @@ class StorageManager {
    */
   async clear(): Promise<void> {
     const allKeys = await this.driver.keys();
-    const prefixedKeys = allKeys.filter((key) => key.startsWith(this.prefix));
+    const fullPrefix = this.prefix ? `${this.prefix}-` : '';
+    const prefixedKeys = allKeys.filter((key) => key.startsWith(fullPrefix));
     await Promise.all(prefixedKeys.map((key) => this.driver.removeItem(key)));
   }
 
@@ -36,7 +37,8 @@ class StorageManager {
    */
   async clearExpiredItems(): Promise<void> {
     const allKeys = await this.driver.keys();
-    const prefixedKeys = allKeys.filter((key) => key.startsWith(this.prefix));
+    const fullPrefix = this.prefix ? `${this.prefix}-` : '';
+    const prefixedKeys = allKeys.filter((key) => key.startsWith(fullPrefix));
 
     for (const fullKey of prefixedKeys) {
       const raw = await this.driver.getItem<StorageItem<unknown>>(fullKey);