@eturino/ioredis-del-by-pattern
雄风 用于在 redis 上以图案删除密钥 。 支持批次( 管道) , 让用户决定使用 del 或者说 unlink 方法。 。 .
用一个 scanStream 在ioredis中收集匹配的密钥以删除.
安装
yarn add @eturino/ioredis-del-by-pattern 或者说 npm install @eturino/ioredis-del-by-pattern。 。 。 .
使用量
导出函数 redisDelByPattern() 返回带有全部被删除的密钥数的保证,使用给定的图案并重新显示客户端.
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] ") (中文(简体) ).
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 中查找并删除多个匹配的密钥 : 向右转 " (中文(简体) ) 以 安基特·贾因
开发、提交、版本和出版
见文件促进发展
见 Typescript-Starter 文档。 。 。 .
提交和更改
对于犯罪,你应该使用 commitizen
yarn global add commitizen
#commit your changes:
git cz
作为打字符启动文件的表示 :
此项目是用于 常规更改日志 使管理释放更容易。 见 标准版本 关于工作流程的更多信息的文件,或 CHANGELOG.md 举个例子.
# bump package.json version, update CHANGELOG.md, git tag the release
yarn run version
你可以找到一个工具,比如 wip 在你准备好做出有意义的承诺之前 帮助管理正在进行的工作.
创建第一个版本
一旦您准备好创建第一个版本,请运行如下(注意: reset 具有破坏性,并将从目录中删除所有不在 git repo 中的文件.
# 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
之后,记住 发布文件。 。 。 .
并最终将新标签推向github并发布到npm.
# 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
发布文件
yarn run doc:html && yarn run doc:publish
这将生成文件并在 github 页面中发布 .
生成一个版本
准备新版有一个单一的线条命令. 见 一步一步以 TypeScript- Startter 发布准备脚本
# 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