【发布时间】:2020-08-25 12:45:50
【问题描述】:
我正在使用 Redis 在 TypeOrm 中缓存查询。
但问题是,TypeOrm 和 Redis 包正在打开单独的连接,我只想为两者重用相同的连接。
这是 typeorm 配置:
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
import { Constants } from '../utils/Constants';
export const typeOrmConfig: TypeOrmModuleOptions = {
type: Constants.DB_TYPE,
host: Constants.DB_HOST,
port: Constants.DB_PORT,
username: Constants.DB_USER_NAME,
password: Constants.DB_PASSWORD,
database: Constants.DB_NAME,
entities: [ __dirname + '/../**/*.entity.{js,ts}' ],
synchronize: true,
logging: true,
cache: {
type: 'ioredis',
duration: 60000,
options: {
host: 'localhost',
password: 'swapnil',
port: 6379
}
},
extra: {
max: 10,
connectionTimeoutMillis: 2000
}
};
我正在为 redis 使用@svtslv/nestjs-ioredis 包:
import { Constants } from '../utils/Constants';
export const config = {
host: Constants.REDIS_HOST,
port: parseInt(Constants.REDIS_PORT),
db: parseInt(Constants.REDIS_DB),
password: Constants.REDIS_PASSWORD
};
使用这个包,我可以使用以下方法访问我的服务类中的 redis:
public constructor(@InjectRedis() private readonly redis: Redis,) {}
【问题讨论】:
标签: node.js typescript nestjs typeorm node-redis