Skip to content

Node.js ioredis

ioredis 是最流行的 Node.js Redis 客户端库,支持 Promise/async-await、集群、Sentinel、管道、Lua 脚本等。

bash
npm i ioredis

连接 Redis

js
import Redis from 'ioredis'
const redis = new Redis({ host: '127.0.0.1', port: 6379 })

数据类型操作

String(字符串)

js
redis.set('key', 'value')           // 设置
redis.setex('key', 10, 'value')     // 设置 + 10秒过期
redis.get('key')                     // 读取

Set(集合)

js
redis.sadd('set', 'a', 'b', 'c')    // 添加
redis.srem('set', 'b')              // 删除
redis.sismember('set', 'a')         // 判断存在
redis.smembers('set')               // 获取全部

Hash(哈希)

js
redis.hset('hash', 'field1', 'val1') // 设置字段
redis.hget('hash', 'field1')         // 获取字段
redis.hdel('hash', 'field2')         // 删除字段
redis.hgetall('hash')                // 获取整个对象

List(列表/队列)

js
redis.lpush('queue', 'a', 'b')       // 左推
redis.lrange('queue', 0, -1)         // 获取全部

ioredis 特性

特性说明
Promise/async-await原生支持,无需回调
管道 pipelining批量发送减少 RTT
集群支持内置 Redis Cluster
Sentinel内置哨兵机制,高可用
Lua 脚本eval/evalsha 执行服务器端脚本
发布/订阅pub/sub 实时消息
自动重连连接断开自动重连