/** * Memorio Cache Example * * This example demonstrates the cache module for in-memory storage. * Cache is perfect for temporary data that doesn't need persistence. * * Run: npx ts-node examples/cache.ts */ import 'memorio' // ============================================ // BASIC CACHE OPERATIONS // ============================================ // Set values cache.set('username', 'Mario') cache.set('score', 1500) cache.set('player', { name: 'Mario', level: 5 }) // Get values console.debug('Username:', cache.get('username')) console.debug('Score:', cache.get('score')) console.debug('Player:', cache.get('player')) // Direct property access cache.tempData = 'Hello' console.debug('Temp data:', cache.tempData) // ============================================ // CACHE WITH OBJECTS // ============================================ // Store complex objects cache.set('gameState', { level: 3, score: 2500, inventory: ['sword', 'shield', 'potion'], position: { x: 100, y: 200 } }) const gameState = cache.get('gameState') console.debug('Game level:', gameState?.level) console.debug('Inventory:', gameState?.inventory) // ============================================ // CACHE SIZE // ============================================ // Add multiple items for (let i = 0; i < 10; i++) { cache.set(`item_${i}`, { id: i, data: `item-${i}` }) } console.debug('Cache keys:', Object.keys(cache)) // ============================================ // CLEANUP // ============================================ // Remove single item cache.remove('username') // Clear all cache cache.removeAll() // Or use clearAll alias // cache.clearAll() console.debug('Cache after clear:', cache.get('score')) console.debug('Cache example complete!')