npm 包 singular-redis 使用教程

阅读时长 6 分钟读完

简介

在前端开发中,redis 是一个常用的缓存和存储工具,它有利于提高应用程序的性能和响应速度。npm 包 singular-redis 是一个可用于管理 redis 的轻量级 Node.js 模块。它提供了一个简单且易于使用的接口,使得开发者能够轻松地与 redis 进行交互。该模块支持多节点集群,在多台服务器上分布式存储信息,并提供了多种灵活的功能,如事务、发布 / 订阅、键空间通知、管道等。

安装

你可以使用 npm 安装单个节点 Redis 运行时所需的 core 环境和 Redis 命令工具集。在命令行中执行以下命令:

注意:确保你已经拥有 Redis 运行时环境,否则无法正常工作。

基本使用

下面是基本的 Redis 用例:

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

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

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

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

在本例中,我们创建了一个 Redis 实例并使用 set()get() 方法完成了数据的存储和提取操作。

连接

在大多数情况下,我们需要在连接到任何 Redis 节点之前定义连接参数。此处提供三种连接方法:

单个节点

集群

默认情况下,对象分片工具使用 3 个虚拟节点,它是一致性哈希算法的实现。由于 Redis 节点通常部署在不同的主机上,因此模块提供了多个选项,以便能够轻松地进行操作。我们可以使用选项 slots,它定义了又多少个插槽,也可以定义 size,它定义了哈希槽数目:

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

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

Sentinel

为了保护 Redis 数据库的高可用性,在集群模式下,模块支持 Sentinel 方案的自动故障切换。它的使用与集群模式非常相似:

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

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

事务

在 Redis 中,事务是一些原子性操作,它们可以看作是一个单一的操作。我们可以使用 multi() 函数创建一个事务,并将请求排队在队列中。当我们执行 exec() 函数时,Redis 执行所有存储在事务队列中的命令。如果其中任何命令出现了错误,所有存储在事务队列中的命令都将回滚。下面是一个基本的事务用例:

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

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

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

在这个例子中,我们创建了一个 Redis 事务并使用 set()get() 方法对数据执行操作。在执行 exec() 函数时,如果没有出现错误,所有存储在队列中的方法都将执行。

还有一种与事务密切相关的模式,它是基于订阅 / 发布模式的。在这种模式下,客户可以订阅一个频道并等待接收消息。当应用程序的某个部分通知系统更改时,这个通知将被广播给所有订阅该频道的客户。下面是一个订阅 / 发布的用例:

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

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

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

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

在这个例子中,我们创建了一个 Redis 客户端并使用 subscribe()on() 函数订阅和监听一个频道的消息。我们还使用 publish() 函数广播消息。

结论

在本教程中,我们使用 npm 包 singular-redis 和 Node.js 轻松地使用和管理 Redis。我们看到,它实现了多种功能和选项,如事务、发布 / 订阅、键空间通知和管道等。此外,我们还介绍了多种配置选项和用例。我们必须选择一种合适的模式,并在将其用于我们的应用程序之前仔细阅读附带的文档。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005524181e8991b448cfc9b

纠错
反馈