# @eturino/ioredis-del-by-pattern 中文文档

规范地址：https://npmcn.com/package/%40eturino/ioredis-del-by-pattern/

版本：3\.0\.1
npm 元数据更新时间：2025-01-22T14:44:37.134Z
中文译文更新时间：2026-11-14T00:08:40.593Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40eturino/ioredis-del-by-pattern
原文对照：https://npmcn.com/package/%40eturino/ioredis-del-by-pattern/?lang=original
项目主页：https://eturino.github.io/ioredis-del-by-pattern.ts/
源码仓库：https://github.com/eturino/ioredis-del-by-pattern.ts

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

- 包体积（解压后）：40.3 kB，13 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0
- 运行依赖：0 个
- peer 依赖：ioredis ^5\.4\.2
- 首次发布：2020-02-05T18:29:00.403Z
- 最新版本发布：2025-01-22T14:44:36.958Z
- 近 30 天下载量：6400（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 0 个）

## 中文简介

ioredis util 可以在 redis 上通过模式删除密钥 。 支持批次( 管道) , 让用户决定使用 `del` 或者说 `unlink` 方法。 。 .

## 安装

```sh
npm install @eturino/ioredis-del-by-pattern
```

也可以使用：`pnpm add @eturino/ioredis-del-by-pattern`、`yarn add @eturino/ioredis-del-by-pattern`、`bun add @eturino/ioredis-del-by-pattern`

## README

# `@eturino/ioredis-del-by-pattern`

[![npm version](https://badge.fury.io/js/%40eturino%2Fioredis-del-by-pattern.svg)](https://badge.fury.io/js/%40eturino%2Fioredis-del-by-pattern) [![Build Status](https://travis-ci.org/eturino/ioredis-del-by-pattern.ts.svg?branch=master)](https://travis-ci.org/eturino/ioredis-del-by-pattern.ts) [![Maintainability](https://api.codeclimate.com/v1/badges/653fcf67de9f3bc22c84/maintainability)](https://codeclimate.com/github/eturino/ioredis-del-by-pattern/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/653fcf67de9f3bc22c84/test_coverage)](https://codeclimate.com/github/eturino/ioredis-del-by-pattern/test_coverage)

[类型 Doc 在此生成文件](https://eturino.github.io/ioredis-del-by-pattern.ts)

[Github 重播这里](https://github.com/eturino/ioredis-del-by-pattern.ts)

[雄风](https://github.com/luin/ioredis) 用于在 redis 上以图案删除密钥 。 支持批次( 管道) , 让用户决定使用 `del` 或者说 `unlink` 方法。 。 .

用一个 `scanStream` 在ioredis中收集匹配的密钥以删除.

## 安装

`yarn add @eturino/ioredis-del-by-pattern` 或者说 `npm install @eturino/ioredis-del-by-pattern`。 。 。 .

## 使用量

导出函数 `redisDelByPattern()` 返回带有全部被删除的密钥数的保证,使用给定的图案并重新显示客户端.

```typescript
import { redisDelByPattern } from "@eturino/ioredis-del-by-pattern";

const deletedKeysCount: number = await redisDelByPattern({
  pattern: "delete-with-this-prefix-*",
  redis // ioredis client
});
```

它支持以下段落:

-   `redis`: redis 客户端. **(动静)**
-   `pattern`:在再磁盘扫描流中匹配. **(动静)**
-   `deletionMethod`: 决定使用 `DEL` 或者说 `UNLINK` 命令(默认取消链接).
-   `withPipeline`: 决定使用管道执行命令或在每个流事件上执行命令(默认没有管道).
-   `pipelineBatchLimit`: 100 默认,如果 `withPipeline` 这是真的.
-   `enableLog`: 如果为真, 将使用指定的对数Fn 记录动作 .
-   `logFn`: 用于日志事件的函数。 默认为( console.log).
-   `logWarnFn`: 要将事件日志为 `warn`默认为( console.warn).
-   `logPrefix`: 对数Fn的前缀(默认为) `"[REDIS-DEL-BY-PATTERN] "`) (中文(简体) ).

```typescript
import { redisDelByPattern } from "@eturino/ioredis-del-by-pattern";

const deletedKeysCount: number = await redisDelByPattern({
  pattern: `${prefix}-delete-me*`,
  redis, // ioredis client
  withPipeline: true,
  deletionMethod: RedisDeletionMethod.unlink
});
```

## 鸣谢

分批执行的职能主要基于本条 [“在 Redis 中查找并删除多个匹配的密钥 : 向右转 " (中文(简体) )](https://medium.com/oyotech/finding-and-deleting-the-redis-keys-by-pattern-the-right-way-123629d7730) 以 [安基特·贾因](https://github.com/AnkitJainAJ)

## 开发、提交、版本和出版

见文件促进发展

见 [Typescript-Starter 文档](https://github.com/bitjson/typescript-starter#bump-version-update-changelog-commit--tag-release)。 。 。 .

### 提交和更改

对于犯罪,你应该使用 [`commitizen`](https://github.com/commitizen/cz-cli)

```sh
yarn global add commitizen

#commit your changes:
git cz
```

作为打字符启动文件的表示 :

此项目是用于 [常规更改日志](https://github.com/conventional-changelog/conventional-changelog) 使管理释放更容易。 见 [标准版本](https://github.com/conventional-changelog/standard-version) 关于工作流程的更多信息的文件,或 [`CHANGELOG.md`](https://npmcn.com/package/%40eturino/ioredis-del-by-pattern/CHANGELOG.md) 举个例子.

```sh
# bump package.json version, update CHANGELOG.md, git tag the release
yarn run version
```

你可以找到一个工具,比如 [**`wip`**](https://github.com/bitjson/wip) 在你准备好做出有意义的承诺之前 帮助管理正在进行的工作.

### 创建第一个版本

一旦您准备好创建第一个版本,请运行如下(注意: `reset` 具有破坏性,并将从目录中删除所有不在 git repo 中的文件.

```sh
# Reset the repo to the latest commit and build everything
yarn run reset && yarn run test && yarn run doc:html

# Then version it with standard-version options. e.g.:
# don't bump package.json version
yarn run version -- --first-release

# Other popular options include:

# PGP sign it:
# $ yarn run version -- --sign

# alpha release:
# $ yarn run version -- --prerelease alpha
```

之后,记住 [发布文件](https://npmcn.com/package/%40eturino/ioredis-del-by-pattern/#readme-publish-the-docs)。 。 。 .

并最终将新标签推向github并发布到npm.

```sh
# Push to git
git push --follow-tags origin master

# Publish to NPM (allowing public access, required if the package name is namespaced like `@somewhere/some-lib`)
yarn publish --access public
```

### 发布文件

```sh
yarn run doc:html && yarn run doc:publish
```

这将生成文件并在 github 页面中发布 .

### 生成一个版本

准备新版有一个单一的线条命令. 见 [一步一步以 TypeScript- Startter 发布准备脚本](https://github.com/bitjson/typescript-starter#one-step-publish-preparation-script)

```sh
# Prepare a standard release
yarn prepare-release

# Push to git
git push --follow-tags origin master

# Publish to NPM (allowing public access, required if the package name is namespaced like `@somewhere/some-lib`)
yarn publish --access public
```

## 常见问题

### @eturino/ioredis-del-by-pattern 是什么？

ioredis util 可以在 redis 上通过模式删除密钥 。 支持批次\( 管道\) , 让用户决定使用 del 或者说 unlink 方法。 。 \.

### 如何安装 @eturino/ioredis-del-by-pattern？

在项目目录运行 npm install @eturino/ioredis-del-by-pattern，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：ioredis（^5\.4\.2）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @eturino/ioredis-del-by-pattern 支持 TypeScript 吗？

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

### @eturino/ioredis-del-by-pattern 支持 ESM 还是 CommonJS？

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

### @eturino/ioredis-del-by-pattern 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @eturino/ioredis-del-by-pattern 可以商用吗？

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

### @eturino/ioredis-del-by-pattern 的下载量有多少？

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

### @eturino/ioredis-del-by-pattern 还在维护吗？

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

