ioredis

Node.js 的 Redis 客户端
授权协议 MIT
开发语言 JavaScript SHELL
所属分类 数据库相关、 数据库驱动程序
软件类型 开源软件
地区 国产
投 递 者 单展
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ioredis 是一个用于 Node.js/io.js 的 Redis 客户端,强健、功能强大且全面。

要求 Redis >= 2.6.12 ,Node.js >= 0.10.16)

具有以下特性

  • 功能完备。支持 Cluster, Sentinel, Pipelining,以及 Lua scripting & Pub/Sub(同时支持二进制消息)

  • 高性能

  • 友好的 API,支持使用 Node callbacks 以及 Bluebird promises

  • 抽象 Lua 脚本,可定义自定义命令

  • 支持二进制数据

  • 支持 TLS

  • 支持离线队列和准备检查

  • 支持 ES6 类型,例如 Map and Set

  • 支持 GEO 命令(Redis 3.2 Unstable)

  • 完善的错误处理策略

示例代码 - 基本用法

var Redis = require('ioredis');
var redis = new Redis();
redis.set('foo', 'bar');
redis.get('foo', function (err, result) {
  console.log(result);
});
// Or using a promise if the last argument isn't a function
redis.get('foo').then(function (result) {
  console.log(result);
});
// Arguments to commands are flattened, so the following are the same:
redis.sadd('set', 1, 3, 5, 7);
redis.sadd('set', [1, 3, 5, 7]);
// All arguments are passed directly to the redis server:
redis.set('key', 100, 'EX', 10);
  • 1.初始化 const Redis = require('ioredis'); // 创建 Redis 客户端实例,设置默认过期时间 const redis = new Redis({ host: '127.0.0.1', port: 6379, password: 'password', // 设置默认过期时间为 60 秒 defaultExpiry: 60, }); 可

  • nodejs 链接 redis/mysql 连接池 redis是单线程作业,所以不管查询任务是由一个链接发来的还是多个链接发来的,redis是串行的执行。并通过当前的链接返回客户端。nodejs接受redis的返回后,不管是不是并行,都要等主线程空闲下来才能一个个处理服务器返回的数据。 再看mysql~ mysql不是单线程服务的,可以并行处理多个查询请求。 mysql会为每一个链接创建一个单独的

  • 一、引 在写koa的项目,当用到session的时候需要放到redis存储。百度了一圈,几十个人的博客几乎就是几篇文章的复制黏贴,我人晕了。 官方github也看了一眼,md里好像没有对应的使用方法。也懒得找了,就自己解决一下吧。 二、解决方案 本文的解决方案是 koa-session + ioredis + ts // .config import * as Ioredis from 'iore

  • nodejs 的ioredis pipeline 的用法与java 有区别 var redis = new Redis(6379, '192.168.0.147'); let testrds = redis.duplicate()//复制redis实例 testrds.select(0)//选择0库 function test2() { let pp = testrds.pipeline()

  • koa2使用ioredis存储session 1. koa-session 安装 npm i koa-session ioredis 配置 const Redis = require('ioredis') class SessionStore extends Redis{ constructor(){ super() this.redis = new Redis() }

  • const redisStore = require('koa-redis') app.use(session({ // 配置cookie // key:'helios.co0kie',//浏览器 cookie 的名字 // prefix: 'helios:sess:', //redis key 的前缀 // name: "session", // cooki

  • 在incude中添加声明文件夹:types/* 添加ts的配置文件: // tsconfig.json { "compilerOptions": { "experimentalDecorators": true, "module": "commonjs", "esModuleInterop": true, "allowSyntheticDefaultImports": true,

  • 之前项目中redis初始化是使用@Init 装饰器来处理,近期配置中心上线后,配置将统一到配置中心获取。 @Init 就不能再使用了,因为其先于远程配置获取,redis初始化要改为远程配置获取完成后才做。 偶尔会报[ioredis] Unhandled error event: Error: connect ETIMEDOUT,部分文章说要将connectTimeout设置成10000,但是查看文

 相关资料
  • http://redis.cn/clients.html

  • 主要内容:Redis IO多路复用,客户端最大连接数,常用命令,命令应用应用Redis 提供了一些操作客户端(client)的命令,比如查询所有已连接到服务器的客户端数量,控制客户端的连接状态(关闭或者挂起)等。通过客户命令我们可以轻松的实现对客户端的管理、控制。 Redis 服务器通过监听 TCP 端口的方式来接受客户端的连接。当一个连接建立后,Redis 会自动执行以下过程: 首先客户端 socket 被设置为非阻塞模式,这是因为 Redis 在网络事件处理上采用了非

  • !> 本客户端不再推荐使用,推荐使用Swoole\Runtime::enableCoroutine + phpredis 或 predis 的 方式,即一键协程化原生PHP的redis客户端使用. 使用示例 Co\run(function () { $redis = new Swoole\Coroutine\Redis(); $redis->connect('127.0.0.1',

  • 安装 composer require hyperf/redis 配置 配置项 类型 默认值 备注 host string 'localhost' Redis 地址 auth string 无 密码 port integer 6379 端口 db integer 0 DB cluster.enable boolean false 是否集群模式 cluster.name string null 集

  • 我正在为一个用Go编写的开源项目添加Redis支持。目标是支持所有Redis拓扑结构:服务器、集群、哨兵。 我浏览了redis.io/clients中列出的Go客户端,看起来Github.com/go-redis/Redis项目是一个可行的选项。 我错过什么了吗? 关于同一主题,有人能推荐另一个Go Redis客户端可能适合这个场景吗?

  • 介绍 RedisDS基于Jedis封装,需自行引入Jedis依赖。 使用 引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> 配置 在ClassPath(或者src/main/reso

  • 我的Java客户机是: 当我尝试运行它时,我得到错误: 我做错了什么?提前谢了。

  • 问题内容: 我正在设计一个将Redis用作数据库的Web服务,并且我想了解使用Redis与StackService客户端连接的最佳实践。 关键是我一直在阅读有关Redis的文章,发现与服务器交互的最佳方法是使用单个并发连接。 问题是,尽管每当Web客户端向Web服务发出请求时,我都会使用 PooledRedisClientManager ,但我又获得了一个到Redis服务器的连接客户端(打开的连接