/** * Clean cache. Remove every key by match * @param {string|Array<string>} match string. Default is "**" * @returns {Promise} * * @memberof MemoryLRUCacher */ clean(match = "**") { this.metrics.increment(METRIC.MOLECULER_CACHER_CLEAN_TOTAL); const timeEnd = this.metrics.timer(METRIC.MOLECULER_CACHER_CLEAN_TIME); const matches = Array.isArray(match) ? match : [match]; this.logger.debug(`CLEAN ${matches.join(", ")}`); this.cache.keys().forEach(key => { if (matches.some(match => utils.match(key, match))) { this.logger.debug(`REMOVE ${key}`); this.cache.del(key); } }); timeEnd(); return this.broker.Promise.resolve(); }