Redis (ioredis) 用于 JavaScript (Node.js):完整指南
\n\nRedis(远程字典服务器)是一种高性能的内存键值存储,常被用作数据库、缓存和消息代理。要从 Node.js 与 Redis 交互,有多个客户端可用,而 ioredis 是最强大、最高效且最流行的客户端之一。该库提供了与 Redis 交互的完整功能集,包括对集群、发布/订阅、管道处理、事务和 Lua 脚本的支持。
\n\n为什么需要这个库?在现代 Web 开发中,Node.js 经常需要快速访问数据。Redis 在内存中运行,提供了传统关系型数据库无法达到的读写速度。ioredis 允许开发者轻松地将这种强大功能集成到他们的应用程序中:缓存复杂查询结果、管理用户会话、实现任务队列、评分系统等等。该库设计时考虑了 Node.js 的异步特性,完全支持 Promises 和 async/await,使代码清晰且可预测。
\n\nioredis 相比其他客户端(例如已过时的 node_redis)的关键优势在于内置支持 Redis 集群和 Sentinel,以及自动重新连接。该库得到社区的积极维护,拥有详细的文档,并被全球数千家公司用于生产环境。它既适用于简单的脚本,也适用于高负载的分布式系统。
安装
\n\n通过 npm(Node 包管理器)安装 ioredis 库。请确保您已安装 Node.js(版本 12 或更高)和 npm。
\n\nnpm install ioredis\n\n如果您使用 yarn,命令如下:
\nyarn add ioredis\n\n安装后,该库即可导入到您的项目中。此外,还需要一个正在运行的 Redis 服务器。如果您没有,可以在本地安装或使用 Docker:
\ndocker run -d --name redis-stack -p 6379:6379 redis/redis-stack-server:latest\n\n快速入门
\n\n创建一个文件 app.js,并编写以下最小代码,用于连接到 Redis、保存值并读取它。
// 引入 ioredis 库\nconst Redis = require('ioredis');\n\n// 创建一个新客户端。默认连接到 localhost:6379\nconst redis = new Redis();\n\n// 用于演示的异步函数\nasync function quickStart() {\n try {\n // 设置键 'name' 的值为 'PythonLib User'\n await redis.set('name', 'PythonLib User');\n console.log('键 "name" 已设置。');\n\n // 获取键 'name' 的值\n const result = await redis.get('name');\n console.log(`键 "name" 的值:${result}`);\n\n // 检查键是否存在\n const exists = await redis.exists('name');\n console.log(`键 "name" 存在:${exists === 1}`);\n\n // 关闭连接\n redis.quit();\n } catch (error) {\n console.error('错误:', error);\n redis.quit();\n }\n}\n\nquickStart();\n\n运行脚本:node app.js。您应该在控制台中看到成功设置和读取键的消息。这是一个基本示例,展示了使用 ioredis 是多么简单。
主要方法和类
\n\nioredis 提供了数十个与 Redis 命令对应的方法。以下是 8 个最常用的方法,带有详细说明和示例。
\n\n1. set(key, value, ...args)
\n签名:
图书馆中也有
推荐