mirror of
https://github.com/certd/certd.git
synced 2026-05-18 06:17:31 +08:00
refactor(util.cache): 优化定时清理过期缓存的定时器行为
新增定时器变量保存intervalId,并调用unref方法避免阻塞进程退出
This commit is contained in:
@@ -11,9 +11,10 @@ export class LocalCache<V = any> {
|
|||||||
cache: Map<string, { value: V; expiresAt: number }>;
|
cache: Map<string, { value: V; expiresAt: number }>;
|
||||||
constructor(opts: { clearInterval?: number } = {}) {
|
constructor(opts: { clearInterval?: number } = {}) {
|
||||||
this.cache = new Map();
|
this.cache = new Map();
|
||||||
setInterval(() => {
|
const intervalId = setInterval(() => {
|
||||||
this.clearExpires();
|
this.clearExpires();
|
||||||
}, opts.clearInterval ?? 5 * 60 * 1000);
|
}, opts.clearInterval ?? 5 * 60 * 1000);
|
||||||
|
intervalId.unref?.();
|
||||||
}
|
}
|
||||||
|
|
||||||
get(key: string): V | undefined {
|
get(key: string): V | undefined {
|
||||||
|
|||||||
Reference in New Issue
Block a user