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 实时消息 |
| 自动重连 | 连接断开自动重连 |