在Node.js中实现数据缓存
在Node.js中实现数据缓存,可以使用内置的Map
对象或者第三方库如node-cache
。以下是使用Map
对象实现的简单缓存示例:
class Cache {
constructor() {
this.cache = new Map();
}
get(key) {
if (this.cache.has(key)) {
return this.cache.get(key);
}
return undefined;
}
set(key, value, ttl) {
this.cache.set(key, value);
if (ttl) {
setTimeout(() => this.cache.delete(key), ttl * 1000);
}
}
delete(key) {
return this.cache.delete(key);
}
clear() {
this.cache.clear();
}
}
// 使用示例
const cache = new Cache();
// 设置缓存,ttl 是过期时间(秒)
cache.set('user:1', { name: 'Alice', age: 30 }, 60);
// 获取缓存数据
const user = cache.get('user:1');
console.log(user); // 输出:{ name: 'Alice', age: 30 }
// 删除缓存
cache.delete('user:1');
这个简单的缓存实现包括基本的get
、set
、delete
和clear
方法。set
方法接受一个ttl参数,用于设置缓存数据的过期时间。
评论已关闭