精华内容
下载资源
问答
  • NestJS IORedis 目录 描述 将IORedis与Nest集成 安装 npm install @svtslv/nestjs-ioredis ioredis npm install -D @types/ioredis 您也可以使用交互式CLI npx nestjs-modules 例子 docker run -p 6379:6379 redis...
  • ioredis_express use ioredis in Express successful ioredis在redis中操作指南,redis客户端使用RedisDesktopManager,redis在express中的用法参考菜鸟教程实现。 一、前言 项目引入配置 1.1 在config文件夹中新建...
  • Falcor-ioredis是一个简单的中间件,它使用Falcor模型与Redis数据库中存储的JSON Graph进行同步。 如果找到参考,redis将自动查询参考。 有用的链接: , 安装 $ npm install falcor-ioredis 'use strict' ; var...
  • 节点缓存管理器的IORedis存储 Redis缓存存储,用于 。 这个软件包几乎与,但是使用而不是 。 它旨在通过仅将配置传递给底层的包来提供最简单的包装。 安装 npm install cache-manager-ioredis --save 要么 yarn ...
  • ioredis客户演示 一些使用 Redis客户端的基本演示。 要使用,首先npm install ,然后: npm run basics :基本的连接,命令和管道演示。 npm run streamingscan SSCAN :使用SSCAN命令的流接口。 npm run ...
  • 针对redis和ioredis进行集成测试的最佳方法是在真实的Redis服务器实例上。 但是,在某些情况下,模拟redis-server是一个更好的选择。 情况如下: 您的工作流程已将本地redis-server实例用于开发服务器。 您所...
  • ioredis pipeline用法

    2020-12-19 15:29:20
    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 = ...

    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()//采用管道操作
      //复制一个实例  
      pp.sadd("a1", "a2")
      pp.sadd("a1", ["a3", "a4"])
      pp.smembers("a1")
      pp.exec(function (err, result) { 
        console.log("e1", err);
        console.log("r1", result);
      })
      //后续exec语句不会执行,
      // pp.exec(function (err, result) { 
      //   console.log("e2", err);
      //   console.log("r2", result);
      // })
    }
    //第一次调用
    test2();
    //第二次调用
    test2();
    

    输出结果:

    e1 null
    r1 [ [ null, 0 ], [ null, 0 ], [ null, [ 'a3', 'a4', 'a2' ] ] ]
    e1 null
    r1 [ [ null, 0 ], [ null, 0 ], [ null, [ 'a3', 'a4', 'a2' ] ] ]
    

    注意 pp=testrds.pipeline() 与 pp.exec() 分别是 开闭指令
    在开闭指令中的可以连续执行 多条指令
    一个pp 只能调用一次 exec()

    展开全文
  • 通过ioredis Redis客户端使用事件发射器进行Redis pubsub。 支持和 是一个针对Node和io.js的健壮,注重性能的全功能Redis客户端。 这项工作基于 ##安装 npm install ioredis - eventemitter 用法 发布/客户端...
  • npm install ioredis-tree 用法 var Redis = require ( 'ioredis' ) ; var redis = require ( 'ioredis-tree' ) ( new Redis ( ) ) ; redis . tinsert ( 'files' , 'parent' , 'node' ) ; 笔记 从v1.0.0开始,出于...
  • <div><p>Bumps <a href="https://github.com/luin/ioredis">ioredis</a> from 4.9.5 to 4.19.2. Release notes <p><em>Sourced from <a href="https://github.com/luin/ioredis/releases">ioredis's releases...
  • <div><p>Bumps <a href="https://github.com/luin/ioredis">ioredis</a> from 4.9.5 to 4.17.3. Release notes <p><em>Sourced from <a href="https://github.com/luin/ioredis/releases">ioredis's releases...
  • 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() } ...

    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()
      }
      async set (key, sess, maxAge = 1000 * 60 * 60 * 24) {
        try {
          let data = await this.redis.set(
            `SESSION:${key}`,
            typeof sess == 'string' ? sess : JSON.stringify(sess),
            'EX',
            maxAge / 1000
          )
          return data
        } catch (error) {
          return error
        }
      }
      async get (key) {
        try {
          let data = await this.redis.get(`SESSION:${key}`)
          return JSON.parse(data)
        } catch (error) {
          return error
        }
      }
      async destroy (key) {
        try {
          let data = await this.redis.del(`SESSION:${key}`)
        } catch (error) {
          return error
        }
      }
    }
    
    const CONFIG = {
      key: 'SESSION' /** (string) cookie key (default is koa.sess) */,
      /** (number || 'session') maxAge in ms (default is 1 days) */
      /** 'session' will result in a cookie that expires when session/browser is closed */
      /** Warning: If a session cookie is stolen, this cookie will never expire */
      maxAge: 1000*60*60*24,
      autoCommit: true /** (boolean) automatically commit headers (default true) */,
      overwrite: true /** (boolean) can overwrite or not (default true) */,
      httpOnly: true /** (boolean) httpOnly or not (default true) */,
      
      signed: true /** (boolean) signed or not (default true) secure: a boolean indicating whether the cookie is only to be sent over HTTPS (false by default for HTTP, true by default for HTTPS).*/,
      rolling: false /** (boolean) Force a session identifier cookie to be set on every response. The expiration is reset to the original maxAge, resetting the expiration countdown. (default is false) */,
      renew: false /** (boolean) renew session when session is nearly expired, so we can always keep user logged in. (default is false)*/,
      // a boolean indicating whether the cookie is only to be sent over HTTPS (false by default for HTTP, true by default for HTTPS).
      secure: false /** (boolean)https secure cookie*/,
      sameSite: null /** (string) session cookie sameSite options (default null, don't set it) */,
    
      store: new SessionStore(),
    }
    module.exports = CONFIG
    
    

    app.js引入

    const session = require('koa-session')
    const CONFIG = require('./config/session.config')
    app.keys = ['some secret hurr'];
    
    app.use(session(app,CONFIG));
    

    使用

      ctx.session.key = "success";
    

    参考

    koa-session2

    展开全文
  • ioredis.js tutorial

    2019-04-07 19:28:17
    ioredis.jsis a new, performance focused Redis client for Node.js. It is used by the online commerce company, Alibaba. It also supports ES6 types such as Map and Set and also implements ...

    每个项目产品都会让你加埋点,你是愿意花几天一个个加,还是愿意几分钟一个小时加完去喝茶聊天?来试试这520web工具, 高效加埋点,目前我们公司100号前端都在用,因为很好用,所以很自然普及开来了,推荐给大家吧

    http://www.520webtool.com/

    自己开发所以免费,埋点越多越能节约时间,点两下埋点就加上了,还不会犯错,里面有使用视频,反正免费 😄

    Introduction

    ioredis.js is a new, performance focused Redis client for Node.js. It is used by the online commerce company, Alibaba. It also supports ES6 types such as Map and Set and also implements support for Promises, which the other big Redis client, <a href=“https://github.com/mranney/node_redis”>node_redis</a>, is not. <a href=“https://github.com/luin/ioredis”>ioredis.js</a> is newly released so in the next sections of this blog post I will show you some basic usage of this client.

    Installing the client

    npm install ioredis
    

    Instantiating the client

    var Redis = require("ioredis");
    //basic constructor - Connect to 127.0.0.1:6379
    var redis = new Redis();
    

    There are multiple ways to instantiate the Redis client. Above I presented the basic method of doing it and bellow I will show you more methods:

    //127.0.0.1:6400
    var Redis = new Redis(6400);
    
    // 192.168.1.1:6379
    var Redis = new Redis(6379, '192.168.1.1');
    
    // 192.168.1.1:6379
    var Redis = new Redis(6379, '192.168.1.1');
    
    // 127.0.0.1:6380, db 4
    new Redis('redis://:authpassword@127.0.0.1:6380/4');   
    
    new Redis('/tmp/redis.sock');   
    
    new Redis({
      port: 6379,          // Redis port
      host: '127.0.0.1',   // Redis host
      family: 4,           // 4(IPv4) or 6(IPv6)
      password: 'auth'
      db: 0
    })
    

    I also suggest, as best practice in general to use environment variables for connectivity credentials/urls/ports.

    Basic functionality

    The two basic Redis operations set and get can be done pretty straight forward with ioredis.js.

    Set:

    redis.set('key', 'value');
    

    Get using callbacks:

    redis.get('key', function (err, result) {
      console.log(result); //will display 'value'
    });
    

    Get using promises:

    redis.get('key').then(function (result) {
      console.log(result); //will display 'value'
    });
    

    Adding a set of values:

    // Arguments to commands are flatten, so the following are same
    redis.sadd('set', 1, 3, 5, 7);
    // or 
    redis.sadd('set', [1, 3, 5, 7]);
    

    Getting a set of values using callback:

    redis.smembers('set', function(err, result) {
      console.log(result); //will display '1, 3, 5, 7'
    });
    

    Getting a set of values using promises:

    redis.smembers('set').then(function(result) {
      console.log(result); //will display '1, 3, 5, 7'
    });
    

    All Redis commands are supported by ioredis.js, both using callbacks or promises. Just use each command as a method name for the Redis client.

    Handling binary data

    ioredis.js also handles binary data by adding and retrieving buffers.

    Adding:

    redis.set('key', new Buffer('value'));
    

    Every command has a method that returns a buffer. By doing that you have to append “Buffer” to the command name.

    Retrieving:

    redis.getBuffer('key', function (err, result) {
      // result is a buffer.
    });
    

    ioredis.js also supports pipelining, transactions, offline queues, Sentinel and Cluster. For these advanced operations you can find a pretty detailed description here.

    I hope this tutorial is informative enough to give you a start with ioredis.js.

    展开全文
  • $ npm i --save @pokeguys/nestjs-redis ioredis # or $ yarn add @pokeguys/nestjs-redis ioredis 用法 // app.module.ts @ Module ( { imports : [ RedisModule . forRoot ( { uri : 'redis://localhost:6379/' ...
  • 一、引 在写koa的项目,当用到session的时候需要放到redis存储。百度了一圈,几十个人的博客几乎就是几篇文章的复制...import * as Ioredis from 'ioredis'; ... ... // 定义的sessionstore的接口 export interface Ses

    一、引

    在写koa的项目,当用到session的时候需要放到redis存储。百度了一圈,几十个人的博客几乎就是几篇文章的复制黏贴,我人晕了。
    官方github也看了一眼,md里好像没有对应的使用方法。也懒得找了,就自己解决一下吧。

    二、解决方案

    本文的解决方案是 koa-session + ioredis + ts

    // .config
    import * as Ioredis from 'ioredis';
    ...
    ...
    // 定义的sessionstore的接口
    export interface SessionStore {
      get: (key:Ioredis.KeyType) => {},
      set: (key: Ioredis.KeyType, sess: any, maxAge: number) =>{},
      destroy: (key:Ioredis.KeyType) => {}
    }
    ...
    ...
    // 定义的sessionconfig配置接口
    export interface SessionConfig {
      key: string,
      maxAge: number,
      autoCommit: boolean,
      overwrite: boolean, 
      httpOnly: boolean, 
      signed: boolean,
      rolling: boolean,
      renew: boolean,
      // 主要是添加这一行,不添加store会默认seesion在内存中,服务重启后就会清空session。
      store?: SessionStore,
      // 也可以使用这个参数,此参数应该为类,然后把三个方法作为类的原型方法
      ContextStore?:
    }
    
    / .redisStore
    import * as Ioredis from 'ioredis';
    
    // 自己实现的返回一个redis实例
    let redis = (db: number = 0): Ioredis.Redis => {
      return new Ioredis(config.redis(db))
    };
    
    // session.store 中要求的 get方法
    export const get = async (key: Ioredis.KeyType)=> {
      try {
        let data = await redis().get(`SESSION:${key}`);
        return JSON.parse(data);
      } catch (error) {
        return error
      }
    }
    // session.store 中要求的 set 方法
    export const set = async (key: Ioredis.KeyType, sess: any, maxAge: number = config.redis(0).maxAge)=> {
      try {
        let data = await redis().set(`SESSION:${key}`, typeof sess == 'string' ? sess : JSON.stringify(sess), 'EX', maxAge / 1000);
        return data
      } catch (error) {
        return error;
      }
    }
    // session.store 中要求的 destroy 方法
    export const destroy = async (key: Ioredis.KeyType)=> {
      try {
        let data = await redis().del(`SESSION:${key}`)
      } catch (error) {
        return error;
      }
    }
    

    三、结

    互相抄,抄的我必须自己解决,我服了。

    展开全文
  • ioredis 是一个强大的、功能齐全的 Redis 客户端,被世界上最大的电子商务公司阿里巴巴和许多其他很棒的公司使用。 功能齐全。 它支持集群、哨兵、流、流水线,当然还有 Lua 脚本和 Pub/Sub(支持二进制消息)。 高...
  • <div><p>Since we have a dependency to <code>ioredis</code> and not <code>redis</code> we should also use the corresponding ``.</p><p>该提问来源于开源项目:fastify/fastify-rate-limit</p>...
  • 使用ioredis的高级模式和功能。 注意:此存储库是的副本,用于实现模式和高级功能。 指数 设置环境变量 项目执行 队列侦听器执行 在项目中使用 图书馆 蜜蜂 工具 发展 环境设定 单击此处,然后按照“ Configura...
  • ioredis一个用于Node.js专注性能,强大,功能全面的Redis客户端
  • ioredis, 一个健壮性能良好且功能齐全的node.js 客户端 一个健壮,性能集中和全功能的Redis 客户端用于 node 和 io.js 。支持 Redis> = 2.6.12和( 。node.js> = 0.10.16或者 io.js ) 。特性io
  • Node.js : redis 和 ioredis 的基本使用前言正文redie的安装和使用ioredie的使用封装所需要用到的ioredis方法 前言 此篇内容记录本人编程过程中所遇到的一些问题和解决的办法。内容仅供参考,有些内容引用别处。[非...
  • 项目主要技术结构 ssr 服务端渲染同构 koa2 graphql typescript ioredis mysql2 mongodb koa-router mpa react redux redux Apollo Typescript
  • ioredis是功能强大的功能强大的Redis客户,已被世界上最大的在线商务公司和许多其他了不起的公司所使用。 功能齐全。 它支持 , , , ,当然还支持和 (具有二进制消息的支持)。 高性能。 令人愉快的API。 它与...
  • <p>Issues appear as soon as I try to use ioredis with Sentinels option (https://github.com/luin/ioredis#sentinel) <p>So after shut down the standalone Redis instance, I have set up a Sentinels ...
  • Node+Express+Socket.IO+ioredis 服务端多实例消息共享及时通信项目 应用: 实时数据接收 IM消息群聊 客户端浏览器信息采集、用户在线情况、浏览记录跟踪 程序打点远程调试,类似开源项目socketlog 后台项目逻辑操作...
  • Node.js当中的ioredis设置timeout的问题

    千次阅读 2019-06-02 20:33:38
    因为node.js内部使用libuv实现网络io调用(使用epoll),在socket层面是不能设置read timeout,connection timeout,write timeout。 所以node.js api中net模块只暴露了...而ioredis在connectTimeout只在初始化socket...
  • 分享一个node 操作redis的工具类 基于ioredis redis.js const config = require(':config/server.base.config'); const { getUCMd5 } = require(':lib/Utils'); //getUCMd5 的实现 MD5(`${str}${config.saltMD5}`)....
  • 1,在ioredis中使用redis命令的方法的时候,如果有2个以上的参数,必须使用then方法来接收返回的结果,比如: redis.hget('key','field').then(function(result){}) //注意,这里的redis客户端不能是你订阅消息...
  • 对于node.js开发环境里,使用传统的redis或者使用ioredis都是不错的选择,而在处理大数据请求程中,偶尔出现了连接池( redis服务端的最大可用连接数,默认为1万)不够用的情况,一般的提示如下: It was not ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 751
精华内容 300
关键字:

ioredis

redis 订阅