Skip to content

类: FileSystemCacheStore

定义于: packages/database/src/cache.ts:128

Node.js 专用的磁盘缓存存储(实现 DatabaseCacheStore)。

每个 key 对应目录下的一个 .bin 文件(文件名为 key 的 SHA-256); 条目含可选 expiresAt(过期删除由 DatabaseCache 负责); 写入采用临时文件 + rename。浏览器不可用。

示例

ts
import { FileSystemCacheStore, LxnsMaimaiDatabase } from "@mai-kit/database";

const database = new LxnsMaimaiDatabase({
  cache: {
    store: new FileSystemCacheStore({
      directory: "/var/cache/mai-kit",
      maxEntries: 2_000,
    }),
    ttlMs: 24 * 60 * 60_000,
  },
});

实现

构造函数

构造函数

ts
new FileSystemCacheStore(options): FileSystemCacheStore;

定义于: packages/database/src/cache.ts:133

参数

参数类型
optionsFileSystemCacheStoreOptions

返回

FileSystemCacheStore

方法

clear()

ts
clear(): Promise<void>;

定义于: packages/database/src/cache.ts:191

删除目录内全部缓存 .bin 文件(不删除目录本身)。

返回

Promise<void>


delete()

ts
delete(key): Promise<void>;

定义于: packages/database/src/cache.ts:180

删除指定条目;不存在时忽略。

参数

参数类型
keystring

返回

Promise<void>


get()

ts
get(key): Promise<DatabaseCacheEntry | undefined>;

定义于: packages/database/src/cache.ts:149

读取磁盘条目;不存在返回 undefined

参数

参数类型
keystring

返回

Promise<DatabaseCacheEntry | undefined>


set()

ts
set(key, entry): Promise<void>;

定义于: packages/database/src/cache.ts:163

写入磁盘条目;可选按 maxEntries 淘汰最旧文件。

参数

参数类型
keystring
entryDatabaseCacheEntry

返回

Promise<void>