78 个版本 (36 个破坏性更新)

0.45.2 2024年8月9日
0.45.0 2024年7月16日
0.44.2 2024年7月11日
0.43.2 2024年3月20日
0.9.0 2022年7月31日

#43数据库实现

Download history 150/week @ 2024-04-29 356/week @ 2024-07-01 423/week @ 2024-07-08 106/week @ 2024-07-15 2/week @ 2024-07-29 96/week @ 2024-08-05 13/week @ 2024-08-12

每月111次下载

AGPL-3.0-or-later

275KB
7K SLoC

词汇簿

词汇簿是一个内存中的键值存储,解决了介于数据库和消息代理之间的某个用例。它专门设计用来作为包含电池的 Web 服务器和后端数据存储,适用于较小的 Web 应用程序或家庭自动化系统。你可以将其视为 MQTT 的替代品,在其中你可以简单地查找消息,而不需要订阅,也可以作为 Redis 的替代品,其中任何 SET 操作都会自动生成一个带有键作为通道和值作为消息的发布/订阅消息。

在词汇簿中,键是类似于 MQTT 主题的层次路径。默认分隔符是 /,因此键看起来像 some/worterbuch/key。可以通过查找键或订阅它来检索值。在这两种情况下都支持通配符。默认的单层通配符是 ?,默认的多层通配符是 #(所有这些都可以配置)。

获取 my/key/# 将返回一个包含所有键/值对的映射,其中键以 my/key/ 开头,订阅 my/key/# 将为存储中已经存在的每个键/值对产生事件,其中键以 my/key/ 开头,并且随后为每个以 my/key/ 开头的键的 SET 操作产生额外的 event。

与类似解决方案的比较

词汇簿 Redis MQTT Kafka SQL CouchDB
发布/订阅 可选 ?
查询
连接查询*
类似 GraphQL 的查询**
删除
内存存储
持久存储 可选 可选 可选
TCP API
WebSocket API 可选 ?
HTTP API
内置用户管理
基于令牌的授权 ? ?
可通过Web前端访问

* 跨不同数据源(例如,表、主题、键等)的查询,这些查询生成包含来自这些数据源的数据的单个结果

** 查询中,预期的结果数据结构编码在请求中

依赖关系

~36–49MB
~825K SLoC