• 依赖选择
    因nest.js官方推荐的redis库年久失修 考虑社区活跃度和稳定性 选择star数最高的node-redis & ioredis
  • 安装
    yarn add ioredis
  • 代码实现
  1. 新增配置文件
// redis单节点配置
const redisConfig = {
  port: 6379,
  host: '127.0.0.1',
  password: '', // 没有可不填
};


// redis集群配置
const redisClusterConfig = [
  {
    port: 9736,
    host: 'xxx.xx.xx.xx',
  },


  {
    port: 9736,
    host: 'xxx.xx.xx.xx',
  },
];
export { redisConfig, redisClusterConfig };

2.工具类代码

import Redis from 'ioredis';


import { redisConfig, redisClusterConfig } from '../../config/redis.config';


export class RedisInstance {
  static async initRedis(connectType?: string) {
    if (connectType && connectType === 'cluster') {
      const cluster = new Redis.Cluster(redisClusterConfig);
      cluster.on('error', (err) => console.log('Redis cluster Error', err));
      cluster.on('connect', () => console.log('redis集群连接成功'));
      return cluster;
    } else {
      const redis = new Redis(redisConfig);
      redis.on('error', (err) => console.log('Redis cluster Error', err));
      redis.on('connect', () => console.log('redis连接成功'));
      return redis;
    }
  }
}

3.使用

  const redis = await RedisInstance.initRedis('cluster');
  redis.get('key');
  redis.set('key', value)
  .....

新建一个redis实例 后续使用redis原生命令即可

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐