nestjs使用redis缓存

5,160 阅读1分钟

安装依赖

npm i cache-manager缓存管理器

npm i redis

npm i sol-redis-pool商店引擎,这里使用sol-redis-pool

我项目的模块版本号

在项目中引入 cache-manager

1、src目录下创建redis.ts文件,引入cache-manager并暴露出去

const redisStore = require('cache-manager/examples/redis_example/redis_store');  //商店引擎
const cacheManager = require('cache-manager').caching({store: redisStore, db: 0, ttl: 100}); // ttl是缓存时间
module.exports = cacheManager; 

2、在要使用模块引入即可,我这里是在login.service.ts引入

const cacheManager = require('../redis');

调用cache-manager模块下的方法

redis是以key-value存储,过了给定的缓存时间(ttl值)会自动清除
set存储
// key 是string类型
cacheManager.set(key, val, {ttl: ttl},(err, result) => {
    console.log(result)
})
get获取
cacheManager.get(key, (err, result) => {
    //过期返回 undefined
    console.log(result);
});
del删除
cacheManager.del(key, (err, result) => {
    console.log(result);
});

其他方法