简介
kerplunk-graphdb 是一个用于 Kerplunk 应用程序的后端密钥-值存储的 npm 包。kerplunk-graphdb 基于 Embark,使用了 LevelDB 和 IPFS 来提供一个轻量级、易于部署和扩展的分布式数据库解决方案。
安装
npm install kerplunk-graphdb --save
使用
-- -------------------- ---- ------- ----- ------- - ---------------------------- ----- -- - --- --------- ----- --------- ----- - ----- ------- -- --- --------------------- ----------- -------- ------ - --------------------- ---- ------------ -- ------------ -------- ----- - --------------- ----- ----- -- ------------ -------- -- - ------------------- --------- -- ---------- -------- -- - ------------------- -------- ---
以上代码通过新建 GraphDB 实例,将 Kerplunk 的数据存储在 ./data 目录下。此外,该实例还使用了 IPFS,允许 Kerplunk 跨节点(node)部署和存储数据。
API 文档
GraphDB(options)
const db = new GraphDB(options);
创建一个 GraphDB 实例。
参数
options
[Object]
path
[String]
: 存储 Kerplunk 数据的路径,默认路径为 './data'。ipfs
[Object]
: IPFS 客户端选项。host
[String]
: IPFS 服务的主机名,默认为 localhost。port
[Number]
: IPFS 服务的端口,默认为 5001。protocol
[String]
: IPFS 协议,默认为 'http'。
返回值
db
[Object]
: GraphDB 实例。
db._open()
db._open();
打开 GraphDB 实例。
参数
无
返回值
Promise
db._close()
db._close();
关闭 GraphDB 实例。
参数
无
返回值
Promise
db._put(key, value)
db._put(key, value);
添加一个键值对到 GraphDB 实例。
参数
key
[String]
: 键的值。value
[String]
: 值的值。
返回值
Promise
db._get(key)
db._get(key);
从 GraphDB 实例中获取一个键的值。
参数
key
[String]
: 键的值。
返回值
Promise
db._del(key)
db._del(key);
从 GraphDB 实例中删除一个键值对。
参数
key
[String]
: 键的值。
返回值
Promise
db._batch(ops)
db._batch(ops);
批量添加键值对到 GraphDB 实例中。
参数
ops
[Array]
: 键值对数组,每个元素是一个操作,包含以下字段:type
[String]
: 操作的类型,可以是 'put' 或 'del'。key
[String]
: 键的值。value
[String]
: 值的值(只在 type 为 'put' 时有效)。
返回值
Promise
db._createReadStream()
db._createReadStream([options]);
创建一个可读数据流用于迭代 GraphDB 实例中的所有键值对。默认情况下,所有键值对按键进行排序。
参数
options
[Object]
: 可选参数。包含以下字段:gt
[String]
: 从 gt 偏移量之后(不包括 gt)的键开始读取。gte
[String]
: 从 gte 偏移量(包括 gte)之后的键开始读取。如果未提供,则从头开始读取。lt
[String]
: 从 lt 偏移量之前(不包括 lt)的键开始读取。lte
[String]
: 从 lte 偏移量(包括 lte)之前的键开始读取。如果未提供,则读取到末尾。reverse
[Boolean]
: 如果为真,则逆序读取所有键值对。limit
[Number]
: 限制读取键值对的数量。keys
[Boolean]
: 如果为真,则只返回键的数组,并忽略值。values
[Boolean]
: 如果为真,则只返回值的数组,并忽略键值。
返回值
ReadableStream
: 可读的对象流(object stream)。
结论
使用 kerplunk-graphdb 后,Kerplunk 应用程序可得到一个可靠的后端键-值存储。它是一个轻量级、易于部署和扩展的数据库解决方案。初始学习成本低,API 简明易懂,方便开发者快速构建 Kerplunk 应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066efd4c49986ca68d8a8a