@derhuerst/redis-stream

中文文档
2.0.1发布于 2020/06/04(Apache-2.0 AND Prosperity-3.0.0)TypeScriptCommonJS近 30 天下载 5425

Redis 5 流为可读和可写节点流 。 加一个CLI.

中文使用文档
文档目录10 节
  1. 安装
  2. 命令行使用情况
  3. 使用 Java 脚本
  4. 写入 Redis 流
  5. 从 Redis 流读取
  6. API 密码
  7. createWriter(redis, streamName)
  8. createReader(redis, streamName, opt = {})
  9. 许可证
  10. 捐款

重新分流

Redis 5 流线 作为 可读可写节点流( W)。 。 。 . 加上命令行接口.

npm version build status Prosperity/Apache license minimum Node.js version chat with me on Gitter support me via GitHub Sponsors

安装

npm install @derhuerst/redis-stream

命令行使用情况

Usage:
    write-into-redis-stream <stream-name>
Examples:
    echo '{"user": "jane", "text": "hey!"}' | write-into-redis-stream chat-msgs
Usage:
    read-from-redis-stream <stream-name> [--history] [--live [--waitTimoout <ms>]] [--limit <n>]
Options:
    --live             Wait for newly added items? Default: true
    --waitTimeout  -t  How long to wait for newly added items. Default: Infinity
    --history          Read all past items from the stream? Default: false
    --limit        -l  Maximum number of items to read. Default: Infinity
Examples:
    read-from-redis-stream chat-msgs --live --limit 1000

使用 Java 脚本

写入 Redis 流

const {createClient} = require('redis')
const createWriter = require('@derhuerst/redis-stream/writer')

const redis = createClient()
const writer = createWriter(redis, 'some-stream-name')
writer.once('finish', () => redis.quit())
writer.on('error', console.error)

writer.write({foo: 'bar'})
writer.end({hey: 'there!'})

从 Redis 流读取

const {createClient} = require('redis')
const createReader = require('@derhuerst/redis-stream/reader')

const redis = createClient()
const reader = createReader(redis, 'some-stream-name')
reader.on('data', console.log)
reader.on('error', console.error)

API 密码

createWriter(redis, streamName)

回返a 可读流 内 对象模式。 。 。 .

createReader(redis, streamName, opt = {})

回返a 可读流 内 对象模式。 。 。 . opt 可能是一个有下列条目的对象:

  • live:等待新添加的项目? 默认 : true
  • waitTimeout:等待新增加的物品需要多长时间. 默认 : Infinity
  • history: 从流中读取所有过去的项目 ? 默认 : false
  • limit: 应读项目的最大数量。 默认 : Infinity

许可证

这个项目有双重许可证: 我的捐款是特许的 繁荣公共许可证, (中文(简体) ), 其他人的贡献 许可证为: Apache 2.0 (英语)。 。 。 .

此许可允许您免费使用和共享此软件用于非商业性目的,并允许您为商业目的尝试此软件30天.

为了公众知识、个人学习、私人娱乐、业余爱好项目、业余追求或宗教戒律.

购买商业执照 或阅读更多关于 为什么我卖私人许可证 我的项目。 。 。 .

捐款

如果您有问题或需要支持,请使用 redis-stream请检查您的代码并先设置。 如果您认为找到了错误或想要提出一个特性,请参考 议题页。 。 。 .

通过贡献,你同意 释放你的修改在 Apache 2.0 许可证。 。 。 .

版本与发布记录

@derhuerst/redis-stream 共发布 5 个版本,首次发布于 2019/05/28;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.1latest2020/06/046 年前
2.0.02020/05/176 年前
1.1.12020/05/176 年前
1.1.02019/10/027 年前
1.0.02019/05/287 年前

关于 @derhuerst/redis-stream 的常见问题

@derhuerst/redis-stream 是什么?

Redis 5 流为可读和可写节点流 。 加一个CLI.

如何安装 @derhuerst/redis-stream?

在项目目录运行 npm install @derhuerst/redis-stream,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 read-from-redis-stream、write-into-redis-stream,可以用 npx read-from-redis-stream 直接运行。

@derhuerst/redis-stream 支持 TypeScript 吗?

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

@derhuerst/redis-stream 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@derhuerst/redis-stream 需要什么版本的 Node.js?

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

@derhuerst/redis-stream 可以商用吗?

@derhuerst/redis-stream 使用 (Apache-2.0 AND Prosperity-3.0.0) 许可。声明的许可为 (Apache-2.0 AND Prosperity-3.0.0),请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@derhuerst/redis-stream 的下载量有多少?

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

@derhuerst/redis-stream 还在维护吗?

最新版本 2.0.1 发布于 2020/06/04(6 年前);至今共发布 5 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/05/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。