UNPKG

backend-mcp

Version:

Generador automático de backends con Node.js, Express, Prisma y módulos configurables. Servidor MCP compatible con npx para agentes IA. Soporta PostgreSQL, MySQL, MongoDB y SQLite.

277 lines (252 loc) 6.44 kB
module: name: "cache" version: "1.0.0" description: "Sistema de caché distribuido con Redis y estrategias avanzadas" category: "performance" author: "Backend MCP" license: "MIT" triggers: - condition: "user_wants_caching" value: true - condition: "needs_performance" value: true - condition: "requires_scaling" value: true - condition: "has_high_traffic" value: true - keywords: - "cache" - "redis" - "caching" - "performance" - "memory" - "speed" - "optimization" - "distributed cache" entry_points: service: "templates/cache.service.ts.hbs" config: "templates/redis.config.ts.hbs" decorator: "templates/cacheable.decorator.ts.hbs" interceptor: "templates/cache.interceptor.ts.hbs" manager: "templates/cache.manager.ts.hbs" dependencies: required: [] optional: - "database" - "logging" - "auth" environment_variables: required: - REDIS_URL optional: - REDIS_HOST - REDIS_PORT - REDIS_PASSWORD - REDIS_DB - REDIS_CLUSTER_NODES - CACHE_TTL_DEFAULT - CACHE_MAX_MEMORY - CACHE_EVICTION_POLICY - ENABLE_CACHE_COMPRESSION - CACHE_KEY_PREFIX features: - "redis-integration" - "memory-caching" - "distributed-caching" - "cache-invalidation" - "cache-warming" - "cache-statistics" - "cache-compression" - "cache-serialization" - "ttl-management" - "cache-patterns" - "cache-decorators" - "cache-interceptors" api_endpoints: - "GET /cache/stats" - "POST /cache/invalidate" - "POST /cache/warm" - "DELETE /cache/clear" - "GET /cache/keys" - "GET /cache/health" generated_files: - "src/cache/cache.service.ts" - "src/cache/redis.config.ts" - "src/cache/cacheable.decorator.ts" - "src/cache/cache.interceptor.ts" - "src/cache/cache.manager.ts" - "src/cache/cache.controller.ts" - "src/cache/cache.module.ts" - "src/cache/interfaces/cache.interface.ts" - "src/cache/strategies/cache-strategy.interface.ts" integration: redis_features: - "key-value-storage" - "pub-sub-messaging" - "lua-scripting" - "clustering" - "persistence" database_integration: - "query-result-caching" - "model-caching" - "relationship-caching" auth_integration: - "session-caching" - "token-caching" - "user-data-caching" cache_strategies: - name: "write-through" description: "Escribe en caché y base de datos simultáneamente" - name: "write-behind" description: "Escribe en caché primero, base de datos después" - name: "cache-aside" description: "Aplicación maneja caché y base de datos por separado" - name: "refresh-ahead" description: "Refresca caché antes de que expire" eviction_policies: - "allkeys-lru" - "allkeys-lfu" - "volatile-lru" - "volatile-lfu" - "allkeys-random" - "volatile-random" - "volatile-ttl" - "noeviction" data_types: - name: "string" description: "Valores de texto simples" - name: "hash" description: "Mapas clave-valor" - name: "list" description: "Listas ordenadas" - name: "set" description: "Conjuntos únicos" - name: "sorted-set" description: "Conjuntos ordenados con puntuación" - name: "json" description: "Objetos JSON complejos" patterns: - name: "cache-warming" description: "Precarga de datos frecuentemente accedidos" - name: "cache-invalidation" description: "Eliminación selectiva de datos obsoletos" - name: "cache-tagging" description: "Agrupación de claves relacionadas" - name: "distributed-locking" description: "Bloqueos distribuidos con Redis" - name: "rate-limiting" description: "Limitación de tasa con contadores" performance_features: - "connection-pooling" - "pipeline-operations" - "batch-operations" - "compression" - "serialization-optimization" - "memory-optimization" monitoring: metrics: - "hit-rate" - "miss-rate" - "memory-usage" - "connection-count" - "operation-latency" - "throughput" alerts: - "high-memory-usage" - "low-hit-rate" - "connection-failures" - "slow-operations" usage_examples: - "API response caching" - "Database query result caching" - "Session storage" - "Rate limiting" - "Distributed locking" - "Real-time analytics" ai_instructions: | Use this module when: - User mentions "cache", "redis", "performance", "speed", "memory" - Project needs to handle high traffic - Database queries are slow or frequent - Need session storage or rate limiting Always combine with: - logging module (for cache monitoring) - database module (for cache-aside pattern) Configuration steps: 1. Setup Redis connection 2. Configure cache strategies 3. Setup cache decorators and interceptors 4. Configure TTL and eviction policies 5. Setup monitoring and alerts 6. Implement cache warming strategies automation: scripts: - "setup-redis" - "warm-cache" - "monitor-cache" - "optimize-cache" testing: unit_tests: - "cache.service.test.ts" - "cache.manager.test.ts" - "cacheable.decorator.test.ts" integration_tests: - "redis-integration.test.ts" - "cache-strategies.test.ts" e2e_tests: - "cache-performance.e2e.test.ts" - "cache-invalidation.e2e.test.ts" performance: benchmarks: - "cache-hit-latency" - "cache-miss-latency" - "memory-efficiency" - "throughput-capacity" optimization: - "connection-pooling" - "pipeline-batching" - "compression-algorithms" - "serialization-formats" scaling: strategies: - "redis-clustering" - "read-replicas" - "sharding" - "consistent-hashing" limits: - "max-memory: configurable" - "max-connections: 10000" - "max-key-size: 512MB" - "max-value-size: 512MB" security: features: - "redis-auth" - "ssl-tls-encryption" - "access-control" - "data-encryption" best_practices: - "secure-connections" - "key-namespacing" - "access-logging" - "data-sanitization" compatibility: node_versions: - ">=16.0.0" frameworks: - "nestjs" - "express" - "fastify" redis_versions: - ">=6.0.0" deployment: - "docker" - "kubernetes" - "aws-elasticache" - "azure-redis" - "gcp-memorystore" documentation: - "README.md" - "API.md" - "CONFIGURATION.md" - "PERFORMANCE.md" - "TROUBLESHOOTING.md"