Midway Cache
基于 cache-manager 封装的组件。
相关信息:
描述 | |
---|
可用于标准项目 | ✅ |
可用于 Serverless | ✅ |
可用于一体化 | ✅ |
安装依赖
npm i @ttou/midway-cache cache-manager
或者在 package.json 中增加如下依赖后,重新安装。
{
"dependencies": {
"@ttou/midway-cache": "^1.0.0",
"cache-manager": "^5.0.0"
}
}
开启组件
在 configuration.ts 中增加组件。
import { Configuration } from '@midwayjs/core';
import * as cache from '@ttou/midway-cache';
@Configuration({
imports: [
cache
]
})
export class MainConfiguration {}
基础配置
export default {
cacheNext: {
store: 'memory',
opts: {
max: 100,
ttl: 10 * 1000,
}
},
};
使用示例
import { Inject, Provide } from '@midwayjs/core';
import { CacheManager } from '@ttou/midway-cache';
@Provide()
export class UserService {
@Inject()
cacheManager: CacheManager;
async setUser(user: any) {
await this.cacheManager.set('user', user);
}
async getUser() {
const user = await this.cacheManager.get<any>('user');
return user;
}
async delUser() {
await this.cacheManager.del('user');
}
async reset() {
await this.cacheManager.reset();
}
}
其他Cache
用户也可以修改 store 方式,在 config.default.ts
中进行组件的配置:
import { redisStore } from 'cache-manager-ioredis-yet'
export default {
cacheNext: {
store: redisStore,
opts: {
host: 'localhost',
port: 6379
},
}
}