neoacevedo / yii2-fastly-cache
Componente de caché Yii2 para Fastly KV Store: solución de almacenamiento en caché perimetral de alto rendimiento
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:yii2-extension
pkg:composer/neoacevedo/yii2-fastly-cache
Requires
- php: >=8.2
- yiisoft/yii2: ~2.0.54
This package is auto-updated.
Last update: 2025-10-11 23:43:43 UTC
README
Componente de caché Yii2 para Fastly KV Store: solución de almacenamiento en caché perimetral de alto rendimiento.
Características
- ✅ Integración nativa con Fastly Key-Value Store
- ✅ Caché perimetral de alto rendimiento
- ✅ Compatible con la interfaz estándar de caché de Yii2
- ✅ Configuración simple y directa
- ✅ Soporte para PHP 8.2+
- ✅ Manejo de errores robusto
Instalación
Via Composer
composer require neoacevedo/yii2-fastly-cache
Configuración
Configuración Básica
Agrega el componente a la configuración de tu aplicación Yii2:
'components' => [ 'cache' => [ 'class' => 'neoacevedo\yii2\fastly\FastlyKvCache', 'apiToken' => 'TU_FASTLY_API_TOKEN', 'storeId' => 'TU_FASTLY_STORE_ID', ], ],
Configuración Avanzada
'components' => [ 'cache' => [ 'class' => 'neoacevedo\yii2\fastly\FastlyKvCache', 'apiToken' => 'TU_FASTLY_API_TOKEN', 'storeId' => 'TU_FASTLY_STORE_ID', 'keyPrefix' => 'myapp_', 'defaultDuration' => 3600, // 1 hora ], ],
Obtener Credenciales de Fastly
- API Token: Obtén tu token desde Fastly Dashboard
- Store ID: Crea un KV Store desde el dashboard de Fastly y obtén su ID
Uso
Uso Básico
// Guardar datos en caché Yii::$app->cache->set('mi_clave', 'mi_valor', 3600); // Obtener datos de caché $valor = Yii::$app->cache->get('mi_clave'); // Verificar si existe una clave if (Yii::$app->cache->exists('mi_clave')) { // La clave existe } // Eliminar una clave Yii::$app->cache->delete('mi_clave');
Uso con Dependencias
use yii\caching\FileDependency; $dependency = new FileDependency(['fileName' => 'path/to/file.txt']); Yii::$app->cache->set('mi_clave', 'mi_valor', 3600, $dependency);
Uso con Tags
use yii\caching\TagDependency; // Guardar con tags Yii::$app->cache->set('usuario_1', $userData, 3600, new TagDependency(['tags' => 'usuarios'])); // Invalidar por tag TagDependency::invalidate(Yii::$app->cache, 'usuarios');
Métodos Disponibles
Método | Descripción |
---|---|
get($key) |
Obtiene un valor de caché |
set($key, $value, $duration) |
Establece un valor en caché |
add($key, $value, $duration) |
Agrega un valor solo si la clave no existe |
delete($key) |
Elimina una clave de caché |
exists($key) |
Verifica si una clave existe |
flush() |
Limpia toda la caché (no implementado) |
Requisitos
- PHP >= 8.2
- Yii2 >= 2.0.54
- Cuenta de Fastly con KV Store habilitado
- Extensión cURL de PHP
Limitaciones
- El método
flush()
no está implementado debido a las limitaciones de la API de Fastly KV - Los TTL (Time To Live) son manejados por Fastly, no por el componente
Contribuir
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-caracteristica
) - Commit tus cambios (
git commit -am 'Agrega nueva característica'
) - Push a la rama (
git push origin feature/nueva-caracteristica
) - Crea un Pull Request
Soporte
Si encuentras algún problema o tienes sugerencias:
- 🐛 Reportar un bug
- 💡 Solicitar una característica
- 📧 Contacto: contacto@neoacevedo.nom.co
Donaciones
Si este proyecto te es útil, considera hacer una donación:
Licencia
Este proyecto está licenciado bajo la Licencia GPL-3.0+ - ver el archivo LICENSE.md para más detalles.
Autor
Néstor Acevedo
- Website: neoacevedo.nom.co
- Email: contacto@neoacevedo.nom.co
⭐ Si te gusta este proyecto, ¡dale una estrella en GitHub!