/// /// /** * @description LRU(least recently used) 缓存对象 * * LruCache 用以维护一个 LRU 缓存,创建方法: * ```JavaScript * var util = require("util"); * var c = new util.LruCache(10, 100); * ``` * */ declare class Class_LruCache extends Class_EventEmitter { /** * @description LruCache 对象构造函数 * @param size 缓存最大尺寸 * @param timeout 元素失效时间,单位是 ms,小于等于 0 不失效,缺省为 0 * */ constructor(size: number, timeout?: number); /** * @description 查询容器内数值个数 */ readonly size: number; /** * @description 查询和设置容器内元素失效时间,单位是 ms,小于等于 0 不失效 */ timeout: number; /** * @description 清除容器数据 */ clear(): void; /** * @description 检查容器内是否存在指定键值的数据 * @param name 指定要检查的键值 * @return 返回键值是否存在 * */ has(name: string): boolean; /** * @description 查询指定键值的值 * @param name 指定要查询的键值 * @return 返回键值所对应的值,若不存在,则返回 undefined * */ get(name: string): any; /** * @description 查询指定键值的值,若不存在或过期,则调用回调函数更新数据 * @param name 指定要查询的键值 * @param updater 指定更新函数 * @return 返回键值所对应的值 * */ get(name: string, updater: (...args: any[])=>any): any; /** * @description 设定一个键值数据,键值不存在则插入一条新数据 * @param name 指定要设定的键值 * @param value 指定要设定的数据 * */ set(name: string, value: any): void; /** * @description 设定一个键值数据,键值不存在则插入新数据 * @param map 指定要设定的键值数据字典 * */ set(map: FIBJS.GeneralObject): void; /** * @description 删除指定键值的全部值 * @param name 指定要删除的键值 * */ remove(name: string): void; /** * @description 检查容器是否为空 * @return 容器内无数值则返回 true * */ isEmpty(): boolean; /** * @description 查询和绑定数据超时事件,相当于 on("expire", func); */ onexpire: (...args: any[])=>any; }