1. Node.js与Redis连接实战指南
Redis作为高性能的内存数据库,与Node.js的结合在现代Web开发中极为常见。这种组合能够轻松应对高并发场景下的数据缓存、会话存储等需求。本文将带你从零开始,完整实现Node.js与Redis的连接与基础操作。
1.1 环境准备与依赖安装
首先确保你的系统已经安装Node.js(建议使用LTS版本)和Redis服务器。可以通过以下命令检查版本:
bash复制node -v
redis-server --version
安装Node.js的Redis客户端库,目前最主流的选择是ioredis和node-redis。我们以ioredis为例:
bash复制npm install ioredis
提示:相比
node-redis,ioredis支持更丰富的Redis特性(如集群、哨兵模式)和Promise风格的API,是目前社区更推荐的选择。
1.2 基础连接配置
创建一个基础连接实例:
javascript复制const Redis = require('ioredis');
// 基础连接配置
const redis = new Redis({
host: '127.0.0.1', // Redis服务器地址
port: 6379, // Redis端口
password: '', // 如果有密码需要配置
db: 0, // 数据库索引
});
// 连接事件监听
redis.on('connect', () => {
console.log('Redis连接成功');
});
redis.on('error', (err) => {
console.error('Redis连接错误:', err);
});
1.3 连接池优化
在高并发场景下,建议使用连接池:
javascript复制const redisPool = new Redis.Cluster([
{
host: '127.0.0.1',
port: 6379
}
], {
scaleReads: 'slave', // 读写分离配置
redisOptions: {
password: 'your_password'
}
});
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心操作与最佳实践
2.1 基础数据操作
Redis支持多种数据结构,以下是常见操作示例:
字符串操作:
javascript复制// 设置键值
await redis.set('user:1000', JSON.stringify({name: 'John', age: 30}));
// 获取值
const user = await redis.get('user:1000');
console.log(JSON.parse(user));
哈希表操作:
javascript复制// 设置哈希字段
await redis.hset('user:1000:profile', 'email', 'john@example.com');
// 获取所有字段
const profile = await redis.hgetall('user:1000:profile');
2.2 事务与管道
Redis支持事务(MULTI/EXEC)和管道(pipeline)来提高批量操作的效率:
javascript复制// 事务示例
const multi = redis.multi();
multi
