node-os-utils
Version:
Advanced cross-platform operating system monitoring utilities with TypeScript support
157 lines • 2.85 kB
TypeScript
/**
* 缓存统计信息
*/
export interface CacheStats {
/**
* 缓存项数量
*/
size: number;
/**
* 缓存命中次数
*/
hits: number;
/**
* 缓存未命中次数
*/
misses: number;
/**
* 命中率
*/
hitRate: number;
/**
* 总内存使用(估算)
*/
memoryUsage: number;
/**
* 过期清理次数
*/
evictions: number;
/**
* 最大缓存大小
*/
maxSize: number;
}
/**
* 缓存管理器配置
*/
export interface CacheManagerConfig {
defaultTTL?: number;
maxSize?: number;
cleanupInterval?: number;
enabled?: boolean;
}
/**
* 缓存管理器
*
* 负责管理监控数据的缓存,提高性能并减少系统调用
*/
export declare class CacheManager {
private cache;
private defaultTTL;
private maxSize;
private stats;
private cleanupTimer?;
private cleanupInterval;
private enabled;
constructor(config?: CacheManagerConfig);
/**
* 获取缓存值
*/
get<T>(key: string): T | undefined;
/**
* 设置缓存值
*/
set<T>(key: string, value: T, ttl?: number): void;
/**
* 删除缓存项
*/
delete(key: string): boolean;
/**
* 清空所有缓存
*/
clear(): void;
/**
* 检查是否存在缓存项
*/
has(key: string): boolean;
/**
* 获取缓存大小
*/
size(): number;
/**
* 获取缓存统计信息
*/
getStats(): CacheStats;
/**
* 重置统计信息
*/
resetStats(): void;
/**
* 获取所有缓存键
*/
keys(): string[];
/**
* 获取缓存项的详细信息
*/
getItemInfo(key: string): {
exists: boolean;
created?: number;
expiry?: number;
accessCount?: number;
lastAccessed?: number;
ttl?: number;
};
/**
* 设置默认 TTL
*/
setDefaultTTL(ttl: number): void;
/**
* 获取默认 TTL
*/
getDefaultTTL(): number;
/**
* 启用缓存
*/
enable(): void;
/**
* 禁用缓存
*/
disable(): void;
/**
* 检查缓存是否启用
*/
isEnabled(): boolean;
/**
* 关闭缓存管理器
*/
destroy(): void;
/**
* 启动定期清理
*/
private startCleanup;
/**
* 停止定期清理
*/
private stopCleanup;
/**
* 清理过期项
*/
private cleanup;
/**
* LRU 淘汰策略
*/
private evictLRU;
/**
* 更新统计信息
*/
private updateStats;
/**
* 更新命中率
*/
private updateHitRate;
/**
* 估算内存使用量
*/
private estimateMemoryUsage;
}
//# sourceMappingURL=cache-manager.d.ts.map