前言

使用nodejs的人越来越多了,相应的基于nodejs的框架也就越来越多,就像php很火,然后就出来了 LaravelThinkPHP,java很火,出来了 spring 框架,由此可见,nodejs的框架在未来只会越来越多,而Eggjs就是阿里开发的一个基于nodejs的企业级框架,有兴趣的朋友可以去看一下。当然一个框架的好坏不仅取决于框架自身的设计,更多的则是对其它服务的兼容性,就像如果一个新出的框架不兼容mysql,那么这个框架即便再好又有什么用呢?提到了MySQL,就得进入我们的正题: redis 了,redis实在是太火了,各种微信公众号发布的教程类视频广告几乎有一半都是关于redis的,什么分布式啊、高并发的、12306啊等等,导致我现在看到redis就烦,不过玩归玩闹归闹,redis该用还是要用。so,egg怎么使用redis呢?

egg-redis

egg-redis是Egg框架下基于 ioredis 的Redis客户端(支持Redis Portocal)。
GitHub地址:https://github.com/eggjs/egg-redis

食用方法

安装egg-redis

安装egg-redis非常的简单,一句话:

npm i egg-redis --save

或者使用 yarn 进行安装.

yarn add egg-redis --save

启用egg-redis

编辑 /config/plugin.js 文件,写入:

exports.redis = {
  enable: true,
  package: 'egg-redis',
};

配置连接信息

编辑 config/config.${env}.js 下配置各个环境的redis连接信息:

单节点

config.redis = {
  client: {
    port: 6379,
    host: '127.0.0.1',
    password: 'auth',
    db: 0,
  },
}

多节点

config.redis = {
  clients: {
    foo: {                 // 节点名称
      port: 6379,          
      host: '127.0.0.1',
      password: 'auth',
      db: 0,
    },
    bar: {                 // 节点名称
      port: 6379,
      host: '127.0.0.1',
      password: 'auth',
      db: 1,
    },
  }
}

常用操作

// get
const foo = await app.redis.get(key)

// set
await app.redis.set(key, value)
// set同时设置有效期,单位:秒
await app.redis.set(key, value, 'EX', seconds)
// 设置有效期
await app.redis.expire(key, seconds)

// 删除
await app.redis.del(key)

// 删除所有 !!!慎用
await app.redis.flushall()

您可能感兴趣的: