UNPKG

mem100x

Version:

⚡ The FASTEST MCP memory server ever built - 66k+ entities/sec with intelligent context detection

46 lines 1.81 kB
"use strict"; /** * Unified cache interface for all cache implementations * Allows seamless switching between LRU, 2Q, ARC, and RadixTree caches */ Object.defineProperty(exports, "__esModule", { value: true }); exports.createCache = createCache; exports.createStringCache = createStringCache; // Cache factory const lru_cache_js_1 = require("./lru-cache.js"); const two_queue_cache_js_1 = require("./two-queue-cache.js"); const arc_cache_js_1 = require("./arc-cache.js"); const radix_tree_cache_js_1 = require("./radix-tree-cache.js"); function createCache(strategy, maxSize) { switch (strategy) { case 'lru': return new lru_cache_js_1.LRUCache(maxSize); case '2q': return new two_queue_cache_js_1.TwoQueueCache(maxSize); case 'arc': return new arc_cache_js_1.ARCCache(maxSize); case 'radix': // RadixTree only works with string keys - fallback to LRU for non-string keys return new lru_cache_js_1.LRUCache(maxSize); default: // Default to LRU for unknown strategies return new lru_cache_js_1.LRUCache(maxSize); } } // Specialized factory for string-key caches (common in entity storage) function createStringCache(strategy, maxSize) { switch (strategy) { case 'lru': return new lru_cache_js_1.LRUCache(maxSize); case '2q': return new two_queue_cache_js_1.TwoQueueCache(maxSize); case 'arc': return new arc_cache_js_1.ARCCache(maxSize); case 'radix': return new radix_tree_cache_js_1.RadixTreeCache(maxSize); default: // Default to LRU for unknown strategies return new lru_cache_js_1.LRUCache(maxSize); } } //# sourceMappingURL=cache-interface.js.map