Files
upage-git/app/routes/api.deployments.$action/cache.ts
2025-09-24 17:02:44 +08:00

47 lines
768 B
TypeScript

interface CacheItem {
data: any;
expiry: number;
}
const cache: Record<string, CacheItem> = {};
// 1 分钟缓存时间
const CACHE_TTL = 1 * 60 * 1000;
export function getFromCache(key: string): any | null {
const item = cache[key];
if (!item) {
return null;
}
if (Date.now() > item.expiry) {
delete cache[key];
return null;
}
return item.data;
}
export function setCache(key: string, data: any): void {
cache[key] = {
data,
expiry: Date.now() + CACHE_TTL,
};
}
export function clearCache(key: string): void {
delete cache[key];
}
setInterval(
() => {
const now = Date.now();
for (const key in cache) {
if (cache[key].expiry < now) {
delete cache[key];
}
}
},
60 * 60 * 1000,
);