# @alexsasharegan/simple-cache 中文文档

规范地址：https://npmcn.com/package/%40alexsasharegan/simple-cache/

版本：3\.3\.3
npm 元数据更新时间：2022-04-04T12:41:33.292Z
中文译文更新时间：2026-11-06T11:31:42.831Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40alexsasharegan/simple-cache
原文对照：https://npmcn.com/package/%40alexsasharegan/simple-cache/?lang=original
项目主页：https://github.com/alexsasharegan/simple-cache#readme
源码仓库：https://github.com/alexsasharegan/simple-cache

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：54 kB，39 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2018-07-27T19:52:23.775Z
- 最新版本发布：2019-03-02T23:19:12.748Z
- 近 30 天下载量：3380（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 0 个）

## 中文简介

一个基本的关键价值商店,具有简单的缓存能力.

## 安装

```sh
npm install @alexsasharegan/simple-cache
```

也可以使用：`pnpm add @alexsasharegan/simple-cache`、`yarn add @alexsasharegan/simple-cache`、`bun add @alexsasharegan/simple-cache`

## README

# 简单缓存

[![npm](https://img.shields.io/npm/v/@alexsasharegan/simple-cache.svg?style=for-the-badge)](https://img.shields.io/npm/v/@alexsasharegan/simple-cache) [![npm downloads](https://img.shields.io/npm/dt/@alexsasharegan/simple-cache.svg?style=for-the-badge)](https://www.npmjs.com/package/@alexsasharegan/simple-cache) [![GitHub issues](https://img.shields.io/github/issues/alexsasharegan/simple-cache.svg?style=for-the-badge)](https://github.com/alexsasharegan/simple-cache/issues) [![Travis](https://img.shields.io/travis/alexsasharegan/simple-cache.svg?style=for-the-badge)](https://github.com/alexsasharegan/simple-cache) [![Coverage Status](https://img.shields.io/coveralls/github/alexsasharegan/simple-cache.svg?style=for-the-badge)](https://coveralls.io/github/alexsasharegan/simple-cache) [![GitHub license](https://img.shields.io/github/license/alexsasharegan/simple-cache.svg?style=for-the-badge)](https://github.com/alexsasharegan/simple-cache/blob/master/LICENSE)

一个基本的关键价值商店,具有简单的缓存能力.

## 安装

```sh
npm install @alexsasharegan/simple-cache
```

## 文档

访问 [API 文档在这里 .](https://stupefied-wright-91ee33.netlify.com/)

缓存是缓存密钥/ 值对类型的接口 `K`编号 :`V`它是初级 功能包括:

-   `Cache.write`: 在密钥上写入一个值
-   `Cache.read`: 从密钥读取一个值
-   `Cache.get`: 将值读作 `Option<V>` (可能类型)
-   `Cache.remove`: 按键去除一个值
-   `Cache.clear`: 清空缓存

## 使用量

在 plain JavaScript 中创建缓存看起来像 :

```js
// Creates a cache with a capacity of 10 items. The second parameter is the
// "type label". It serves as a convenience option for more meaningful
// `toString` behavior.
let userCache = SimpleCache(10, { key: "ID", value: "User" })
userCache.toString()
// SimpleCache<ID, User> { size: 0, capacity: 10 }
```

如果您正在使用 TypeScript , 您需要通过声明密钥和 作为通用参数的值类型 :

```ts
interface User {
    id: number
    name: string
}

let userCache = SimpleCache<number, User>(10, { key: "ID", value: "User" })
userCache.toString()
// SimpleCache<ID, User> { size: 0, capacity: 10 }
```

以下是以REPL风格显示的五种主要交互方法的一些例子. 如果你想知道更多关于 `Option` 返回类型 `Cache.get`,访问 [安全类型存储器](https://github.com/alexsasharegan/safe-types)。 。 。 .

```js
let userA = { name: "User A", id: 1 }
let userB = { name: "User B", id: 2 }

userCache.write(userA.id, userA)
userCache.write(userB.id, userB)
userCache.size()
// 2

userCache.read(1)
// { name: "User A", id: 1 }
userCache.read(2)
// { name: "User B", id: 2 }
userCache.get(2)
// Some<{ name: "User B", id: 2 }>
userCache.read(3)
// undefined
userCache.get(3)
// None

userCache.remove(1)
userCache.size()
// 1
userCache.read(1)
// undefined
userCache.clear()
userCache.size()
// 0
```

有一个以弗所缓存。 它缓存项目 持续的时间是 以毫秒计.

```ts
// Sets a capacity of 10 users and a max lifetime of 5 seconds
let userCache = EphemeralCache<number, User>(10, 5000, {
    key: "ID",
    value: "User",
})

userCache.write(1, { name: "Temp", id: 1 })

setTimeout(() => {
    userCache.read(1)
    // undefined
}, 5001)

userCache.read(1)
// { name: "Temp", id: 1 }
```

## 常见问题

### @alexsasharegan/simple-cache 是什么？

一个基本的关键价值商店,具有简单的缓存能力\.

### 如何安装 @alexsasharegan/simple-cache？

在项目目录运行 npm install @alexsasharegan/simple-cache，或使用 pnpm add / yarn add / bun add。

### @alexsasharegan/simple-cache 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @alexsasharegan/simple-cache 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @alexsasharegan/simple-cache 可以商用吗？

@alexsasharegan/simple-cache 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @alexsasharegan/simple-cache 的下载量有多少？

根据 npm 官方下载统计，@alexsasharegan/simple-cache 在 2026/10/06 – 2026/11/04 这 30 天内被下载 3,380 次，日均约 113 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @alexsasharegan/simple-cache 还在维护吗？

最新版本 3\.3\.3 发布于 2019/03/03（7 年前）；至今共发布 12 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/07/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

