smart-cache-manager
v1.0.0
Published
Intelligent cache management with smart invalidation, auto-prefetch, and server sync.
Readme
smart-cache-manager 💾
Intelligent cache management with smart invalidation, auto-prefetch, and server sync.
Features
- ✅ LRU & LFU eviction strategies
- ✅ Smart dependency tracking
- ✅ Auto-prefetch before expiry
- ✅ Pattern-based invalidation
- ✅ Performance metrics
- ✅ Server-side sync
- ✅ TTL management
- ✅ Zero dependencies
Installation
```bash npm install smart-cache-manager ```
Usage
Basic Caching
```typescript import { createCacheManager } from 'smart-cache-manager';
const cache = createCacheManager({ ttl: 3600, // 1 hour strategy: 'LRU', // or 'LFU' maxSize: 1000, });
// Set value cache.set('user:123', { id: 123, name: 'John' });
// Get value const user = cache.get('user:123');
// Delete cache.delete('user:123');
// Check if exists if (cache.has('user:123')) { ... } ```
Smart Invalidation
```typescript // Exact match cache.invalidate('user:123');
// Pattern matching cache.invalidate('user:*'); // All users cache.invalidate('post:user:123'); // All posts by user 123 ```
Auto-Prefetch
```typescript // Auto-refresh popular posts 5 minutes before expiry await cache.prefetch('popular-posts', async () => { return await db.query('SELECT * FROM posts ORDER BY views DESC LIMIT 10'); }, { ttl: 3600, refreshBefore: 300000 // 5 minutes }); ```
Metrics & Monitoring
```typescript const metrics = cache.getMetrics(); console.log(metrics); // { // hits: 150, // misses: 50, // hitRate: 75, // totalKeys: 25, // avgAccessTime: 1.2, // memoryUsed: 45.23 // } ```
Server Sync
```typescript // Subscribe to cache changes cache.subscribe((event) => { console.log('Cache event:', event); // type: 'set' | 'delete' | 'invalidate' // Sync to other servers... }); ```
License
MIT
