首页
/ Redis-Node 技术文档

Redis-Node 技术文档

2024-12-20 09:48:23作者:明树来

本文档将详细介绍如何安装、使用以及API调用方法,帮助用户更好地理解和运用redis-node模块。

1. 安装指南

要使用redis-node,首先需要通过npm进行安装:

npm install redis-node

2. 项目使用说明

redis-node 是一个功能完整的 Node.js Redis 客户端。以下是一个快速入门示例:

const redis = require("redis-node");
const client = redis.createClient(); // 创建客户端
client.select(2); // 选择数据库2

// 设置键值
client.set("hello", "world", function (err, status) {
  if (err) throw err;
  console.log(status); // true
});

// 使用哈希表
client.hmset("hash", { t: "rex", steg: "asaurus" }, function (err, status) {
  if (err) throw err;
  console.log(status); // true
});

// 支持事务
console.log("从支票账户转至储蓄账户。");
client.transaction(function () {
  client.decrby("checking", 100, function (err, balance) {
    if (err) throw err;
    console.log("支票账户余额:" + balance);
  });
  client.incrby("savings", 100, function (err, balance) {
    if (err) throw err;
    console.log("储蓄账户余额:" + balance);
  });
});

// 关闭连接
setTimeout(function () {
  client.close();
}, 1000);

3. 项目API使用文档

以下是redis-node客户端的主要API参考。

redis.createClient(port, host, options)

创建一个新的客户端实例,连接到在指定host和port上运行的Redis服务器。

  • host 默认值为 127.0.0.1
  • port 默认值为 6379
  • 可以传入一个选项哈希表。默认值为:
    • maxReconnectionAttempts (10) 尝试重新连接到Redis服务器的次数。
    • reconnectionDelay (500) 重新连接尝试之间的等待时间(毫秒)。

Events

redis-node客户端会发出与Redis服务器连接相关的重要事件。可以绑定事件处理器到以下事件:

  • connected 客户端成功首次连接时发出。
  • disconnected 客户端与Redis服务器断开连接时发出。
  • reconnecting 客户端尝试重新连接前发出。
  • reconnected 客户端成功重新连接时发出。
  • noconnection 客户端放弃连接尝试时发出。
  • connection error 连接过程中出现错误时发出。

Commands operating on all value types

以下是一些基本的Redis命令实现:

  • client.exists(key, callback) 检查键是否存在。
  • client.del(key1, key2, ..., keyn, callback) 删除一个或多个键。
  • client.type(key, callback) 返回存储在键中的值的类型。
  • client.keys(pattern, callback) 查找与给定模式匹配的所有键。
  • client.randomkey(callback) 返回一个随机键。
  • client.rename(oldName, newName, callback) 重命名键。
  • client.renamenx(oldName, newName, callback) 当新键名不存在时,重命名键。
  • client.dbsize(callback) 返回当前数据库的键数。
  • client.expire(key, ttl, callback) 设置键的过期时间。
  • client.expireat(key, unixtime, callback) 设置键的过期时间为未来的Unix时间戳。
  • client.ttl(key, callback) 返回键的剩余过期时间。
  • client.select(dbIndex, callback) 选择一个数据库。
  • client.move(key, dbIndex, callback) 将键从一个数据库移动到另一个数据库。
  • client.flushdb(callback) 清除当前数据库的所有键。
  • client.flushall(callback) 清除所有数据库的所有键。

Commands operating on strings

以下是对字符串操作的一些命令:

  • client.set(key, value, callback) 设置键值。
  • client.get(key, callback) 获取键值。
  • client.getset(key, value, callback) 设置键值并返回旧值。

更多命令和详细用法请参考项目文档和示例。

4. 项目安装方式

项目的安装方式已在安装指南中说明,通过npm命令进行安装:

npm install redis-node

通过上述指南和文档,用户应能够顺利安装并使用redis-node模块,实现与Redis服务器的交互。

登录后查看全文
热门项目推荐

最新内容推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
136
1.89 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
71
63
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.28 K
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
919
551
PaddleOCRPaddleOCR
飞桨多语言OCR工具包(实用超轻量OCR系统,支持80+种语言识别,提供数据标注与合成工具,支持服务器、移动端、嵌入式及IoT设备端的训练与部署) Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
Python
46
1
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
193
273
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
59
16