redis的存取都是异步操作。
安装
yarn add redis
连接
import { createClient, RedisClientType } from 'redis';
const redisClient = createClient({ url: 'redis://localhost:6379' });
redisClient.connect();
存取
C.set('a', JSON.stringify({ a: 1, e: 2 })).then((res) => {
C.get('a').then((p) => console.log(32453452345, JSON.parse(p).a));
});
进阶用法(订阅发布)
比较进阶的用法,目前只是认识这种进阶的用法,还没有遇到使用场景。
main.ts(订阅)
const redisClient = createClient({ url: 'redis://localhost:6379' });
redisClient.connect();
redisClient.subscribe('test', (message, channel) =>
console.log(message, channel),
);
redis.service.ts(发布)
import { Injectable } from '@nestjs/common';
import { createClient, RedisClientType } from 'redis';
@Injectable()
export class RedisService {
public redisClient: RedisClientType;
constructor() {
this.redisClient = createClient({ url: 'redis://localhost:6379' });
this.redisClient.connect();
}
async findAll() {
this.redisClient.publish('test', 'redis message');
return `This action returns all redis`;
}
}