npm 包 @hapiness/etcd3 使用教程

前言

etcd 是一个高可用的键值存储系统,用于在分布式系统中存储配置和服务发现信息。etcd3 是其第三版,是一个由 CoreOS 社区开发的分布式的键值存储系统。@hapiness/etcd3 是基于 etcd3-node 基础上开发的适用于 Node.js 的 etcd3 客户端库,其提供了更熟悉 Node.js 编程的 API 以及优秀的 TypeScript 支持。

本文将通过详细的使用教程,为大家介绍 @hapiness/etcd3 的使用方法。

安装 @hapiness/etcd3

使用 npm 安装 @hapiness/etcd3

--- - ---------------

连接到 etcd

在使用 @hapiness/etcd3 前,需要先连接到 etcd。

------ - ----- - ---- ------------------

----- ---- - --- -------
    ------ ------------------ -- ---- ----
---

Etcd3 构造函数接收一个配置对象,可配置字段包括:

  • hosts: {string[]} etcd 服务地址,格式为 http(s)://hostname:port,多地址时传入数组。默认值为:['127.0.0.1:2379']
  • credentials: { object } etcd 认证证书。此处不做介绍。

基本操作

以下是 @hapiness/etcd3 提供的基本操作API:

put

添加一个键值对。

----- ---------------------------------
  • put:指定操作类型为 put
  • key:指定键名
  • value:指定键值

get

根据键名获得其对应的值。

----- --- - ----- -------------------------

----------------- -- -----
  • get:指定操作类型为 get
  • key:指定键名
  • string:以字符串形式返回值,其他返回方式见后文

watch

监听某一个键值对的变化。

--------------------------------------------- -- -
    -------
        ---------- ------------
        ------------- ------------
        ----------------------

    ---------------- -- -- ----- ---------------------------------- ------
---
  • watch:指定操作类型为 watch
  • key:指定需要监听的键名
  • create:创建一个监听器,并返回 Promise

watcher 对象支持以下事件:

  • put:在监视器上注册一个 put 事件,表示有一个新的键值对存入了对应的键名
  • delete:在监视器上注册一个 delete 事件,表示有一个键值对被删除了

lease

分配一个租约,并给其绑定一个键值对。

-- ---- -- ---- 
----- ----- - ---------------

-- -------
----- ----------------------------------------------
  • lease:指定租约的值,单位为秒
  • put:指定操作类型为 put
  • key:指定键名
  • value:指定键值

作为绑定 lease 的连锁内容,还可以实现续约和撤销租约。

----- ---- - --- -------
    ------ ------------------
---

----- ----- - ---------------

---------------
      ---------------
      -------------
      -------
      ------------------
      -------- -- ------------------
      ------------------
      -------- -- ---------------
      ------------------
      ----------------------

transaction

返回一个带有事务支持的对象,使用该对象进行操作,即可完成类似于数据库交易的相关功能。常用的操作有:putgetdeletecommitrollback 等。

----- ---------
          ---------- ----- --------
          ----------------------------
          ----------
  • tx:指定操作类型为 transaction
  • if:在该方法内传入要比较的键名、运算符和要比较的值,用于判断。仅当判断结果为 true 时才会执行之后的 operation。支持的运算符包括:
    • >: 大于
    • >=: 大于等于
    • <: 小于
    • <=: 小于等于
    • ==: 等于
    • !=: 不等于
  • put:指定操作类型为 put
  • key2:要添加的新键
  • value2:要添加的新键值
  • commit:提交操作

以上是 @hapiness/etcd3 提供的基本操作,结束基本操作后需要调用 exec() 方法来执行命令。

示例代码

------ - ----- - ---- ------------------

----- -------- ------ -
    ----- ---- - --- -------
        ------ ------------------
    ---

    -- ---
    ----- ---------------------------------

    -- ---
    ----- --- - ----- -------------------------
    ----------------- -- -----

    -- -----
    --------------------------------------------- -- -
        -------
            ---------- ------------
            ------------- ------------
            ----------------------

        ---------------- -- -- ----- ---------------------------------- ------
    ---

    -- -----
    ----- ----- - ---------------

    ----- ----------------------------------------------

    ----- ------------------------------------

    ----- ---------------------------------

    -- -----------
    ----- ---------
              ---------- ----- --------
              ----------------------------
              ---------
              ------------------
              ----------------------
-

----------------------------

结论

本文为大家介绍了 @hapiness/etcd3 的使用方法。希望可以对广大前端开发者提供一些新的思路和灵感,使其可以顺利的使用 etcd 这一服务。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066bbb967216659e2440fb


猜你喜欢

  • npm 包 @johnpaulvaughan/promise-it-exists 使用教程

    一、前言 @johnpaulvaughan/promise-it-exists 是一个轻量级的 npm 包,它可以方便地判断一个文件是否存在,返回 Promise 对象,让我们更加方便地对文件进行操作...

    3 年前
  • npm 包 @johnydays/db-migrate-pg 使用教程

    简介 在前端开发中,数据库是一个非常重要的组成部分。为了方便对数据库进行迁移和管理,开发者们经常选择使用一些工具和库。其中一个非常流行的工具就是 db-migrate。

    3 年前
  • npm 包 @iwano/draft-js-mention-plugin 使用教程

    在前端开发中,我们经常会需要使用富文本编辑器来实现各种功能,其中使用 React 开发富文本编辑器是很常见的做法。Draft.js 是 Facebook 开源的富文本编辑器框架,可以方便地进行自定义扩...

    3 年前
  • npm 包 @ivoglent/nqueue 使用教程

    如果你是一名前端开发者,你可能曾经遇到过这样一种情况:在处理一些耗时的操作时,比如网络请求,你需要使用异步编程来避免阻塞页面。但是,当你需要依次执行多个异步操作时,你可能会遇到一些问题,比如异步回调嵌...

    3 年前
  • npm 包 @jesstelford/react-pose 使用教程

    介绍 React Pose 是一款用于实现动画效果的 React 库,它基于 FLIP 技术,可以帮助你轻松实现最具吸引力的动画效果。这个库建立在 React 动画的自然 API 之上,可以简单地使用...

    3 年前
  • npm 包 @iwano/react-select 使用教程

    在前端开发中,常常会对页面中的下拉框进行设计和处理。而@iwano/react-select是一款非常优秀的 React 库,可极大地方便了下拉框的开发和使用。本文将介绍npm 包 @iwano/re...

    3 年前
  • npm 包 @izemaster/platzom 使用教程

    介绍 @izemaster/platzom 是一个用于字符串转换的 npm 包,旨在为西班牙语和不同方言提供一些小工具,以使它们更加接近程序或机器用户所需的形式。它可以完成以下转换: 如果单词以“a...

    3 年前
  • npm 包 @jokeyrhyme/promised-requirejs 使用教程

    在前端开发中,为了充分利用已有的 JavaScript 库,我们常常需要引入一些第三方库。而引入库的方式又千奇百怪:有的以直接 script 导入的方式使用,有的以 AMD (Asynchronous...

    3 年前
  • npm 包 @jokeyrhyme/promisify 使用教程

    在前端开发过程中,经常会遇到异步操作,例如调用接口或者读写文件等。而在 JavaScript 中,回调函数是一种处理异步操作的常用方式。然而,回调函数的嵌套可能会导致回调地狱的代码结构,难以维护和修改...

    3 年前
  • npm 包 @jokio/graphql-yoga 使用教程

    前言 graphql-yoga是一个基于express和graphql的web服务器,并提供了很多有用的工具和默认配置,使开发人员能够更快地快速创建和部署GraphQL API服务。

    3 年前
  • npm 包 @j154004/yeoman-assert 使用教程

    前言 在前端开发中,经常需要使用 yeoman 生成器来加快开发效率,而为了保证生成器的正确性,我们需要对生成的代码进行测试,这时我们可以使用 @j154004/yeoman-assert 这个 np...

    3 年前
  • npm包document.min.js使用教程

    前言 在前端开发中,我们经常需要操作DOM元素,获取元素属性,修改元素内容等。而JavaScript语言自身支持的DOM操作仅仅只具有局限性和不足,而且使用起来也比较繁琐。

    3 年前
  • npm 包 @julceswhat/angular5-monaco-editor-loader 使用教程

    介绍 @julceswhat/angular5-monaco-editor-loader 是一个基于 Angular 5 和 Monaco Editor 的加载器,可以帮助开发者在 Angular 5...

    3 年前
  • npm 包 @julien-f/unzip 使用教程

    在前端开发中,解压文件是很常见的任务。@julien-f/unzip 是一个能够在 Node.js 或浏览器中轻松解压 ZIP 文件和其他归档类型的 npm 包。本文将详细介绍如何使用 @julien...

    3 年前
  • npm 包 @juancore/platzom 使用教程

    @juancore/platzom 是一个实用的 npm 包,用于对西班牙语进行转换和操作。这个包基于一些有趣的规则和约定,例如给单词结尾加上“o”或“aca”,为语言添加一些幽默感和个性。

    3 年前
  • npm 包 db.min.js 使用教程

    简介 db.min.js 是一个基于浏览器本地存储的小型数据库,它提供了类似 SQL 的 API,可以很方便地操作数据。本文将介绍如何使用该 npm 包。 安装 --- ------- -------...

    3 年前
  • npm 包 debug.min.js 使用教程

    debug 是一款用于 Node.js 和浏览器的小型调试工具,可以方便地在代码中打印调试信息。它提供了可配置的参数,可以帮助开发者在开发过程中快速定位问题,提升开发效率。

    3 年前
  • npm 包 default.min.js 使用教程

    在前端开发中,我们常常需要使用各种 JavaScript 插件来实现一些复杂的功能。而 npm 包正是一个非常重要的前端工具,它可以让我们快速地下载和安装各种 JavaScript 插件,并将它们集成...

    3 年前
  • npm 包 @j154004/generator-react-hot 使用教程

    在前端开发中,快速构建 React 项目是非常常见的需求。@j154004/generator-react-hot 是一个用于生成 React 项目模板的 NPM 包,它可以快速地生成一个带有热更新功...

    3 年前
  • 安利一下 npm 包 define.min.js

    前言 在前端开发中,我们常常会遇到各种需求,而这些需求往往需要用到一些比较复杂的 JavaScript 模块。如果从头写这些模块,不仅是个大工程,而且复用性也不高。

    3 年前

相关推荐

    暂无文章