2.1 KiB
2.1 KiB
🚀 Guía Rápida: Configurar Caché de Guilds con Appwrite
¿Por qué Appwrite en vez de Redis?
- ✅ Redis: Solo 30MB disponibles (ya usando 8%)
- ✅ Appwrite: Sin límites estrictos, incluido en plan gratis
- ✅ Ahorra ~2.4MB de Redis para otros usos
Configuración (5 minutos)
Opción Recomendada: Manual (Consola de Appwrite) 📝
Por qué manual: La API Key de tu proyecto requiere permisos elevados para crear colecciones. Es más rápido hacerlo desde la consola web.
📋 Sigue esta guía paso a paso ← Click aquí
Resumen rápido:
- Crea colección
guild_cacheen Appwrite Console - Agrega 4 atributos:
guildId,name,prefix,expiresAt - Crea 2 índices en
guildIdyexpiresAt - Copia el Collection ID
- Agrégalo a
.envcomoAPPWRITE_COLLECTION_GUILD_CACHE_ID
Opción Alternativa: Script Automático 🤖
⚠️ Requiere API Key con permisos completos (databases.write, collections.write, etc.)
# Si tienes una API Key con permisos suficientes:
node scripts/setupGuildCacheCollection.js
# Luego agrega el ID a .env
APPWRITE_COLLECTION_GUILD_CACHE_ID=el_id_generado
Variables de Entorno Necesarias
Asegúrate de tener en tu .env (o Config Vars de Heroku):
APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
APPWRITE_PROJECT_ID=tu_project_id
APPWRITE_API_KEY=tu_api_key
APPWRITE_DATABASE_ID=tu_database_id
APPWRITE_COLLECTION_GUILD_CACHE_ID=tu_collection_id_nuevo
Verificación
Después de desplegar, busca en los logs:
✅ Guild config obtenida desde caché (Appwrite)
✅ Guild config guardada en caché (Appwrite)
🧹 Documentos expirados eliminados de caché
¿Qué hace esto?
- Antes: Cada mensaje → consulta a PostgreSQL (miles por minuto)
- Ahora: Cada mensaje → consulta a Appwrite caché (1 vez cada 5 min por servidor)
- Resultado: 99.8% menos carga en PostgreSQL
Más Información
Lee la documentación completa en: