简介
在前端开发中,redis 是一个常用的缓存和存储工具,它有利于提高应用程序的性能和响应速度。npm 包 singular-redis 是一个可用于管理 redis 的轻量级 Node.js 模块。它提供了一个简单且易于使用的接口,使得开发者能够轻松地与 redis 进行交互。该模块支持多节点集群,在多台服务器上分布式存储信息,并提供了多种灵活的功能,如事务、发布 / 订阅、键空间通知、管道等。
安装
你可以使用 npm 安装单个节点 Redis 运行时所需的 core 环境和 Redis 命令工具集。在命令行中执行以下命令:
$ npm install singular-redis --save
注意:确保你已经拥有 Redis 运行时环境,否则无法正常工作。
基本使用
下面是基本的 Redis 用例:
-- -------------------- ---- ------- -- -- ----- -- --- ----- - -------------------------- -- ---- --- ------ - ------------------------ ----- --------- -- ------- ----- ----- ----------------- ------ -------- ------- -------- - -- ------- - ------------------- - ---- - ----------------- -- --------- - --- -- --- ---- ---- ----- ----------------- -------- ------- ------- - -- ------- - ------------------- - ---- - ----------------- -- -------- - ---
在本例中,我们创建了一个 Redis 实例并使用 set()
和 get()
方法完成了数据的存储和提取操作。
连接
在大多数情况下,我们需要在连接到任何 Redis 节点之前定义连接参数。此处提供三种连接方法:
单个节点
var singleClient = redis.createClient({ port: 6379, host: "127.0.0.1" });
集群
默认情况下,对象分片工具使用 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