Nuevo en Symfony 4.4: Mejoras en la caché de Redis
Redis es una aplicación muy popular para almacenar en memoria diferentes estructuras de datos. Se utiliza como caché, como base de datos y como broker de mensajería. Redis también es uno de los adaptadores más populares del componente Cache de Symfony y en Symfony 4.4 lo hemos mejorado con nuevas funcionalidades.
Añadido soporte para Redis Sentinel
Redis Sentinel es un sistema distribuido que proporciona alta disponibilidad a Redis. Sentinel permite crear un sistema Redis capaz de resistir a ciertos fallos sin intervención humana.
En Symfony 4.4 hemos añadido soporte para Sentinel gracias a la nueva opción
redis_sentinel
que puedes incluir en el DSN de la conexión Redis:
use Symfony\Component\Cache\Adapter\RedisAdapter; $client = RedisAdapter::createConnection( 'redis:?host[redis1:26379]&host[redis2:26379]&host[redis3:26379]&redis_sentinel=mymaster' );
El único requisito es que Sentinel también require utilizar la librería Predis.
Esta funcionalidad fue contribuida por Stephen Clouse en el pull request #31437.
Mejoras en el cacheado por etiqueta de Redis
Los tag-aware adapters se usan en la caché de Symfony para invalidar cachés
usando etiquetas en vez del tiempo de expiración (ej. borra todos los elementos
cacheados que estén asociados con la etiqueta productos
). En Symfony 4.4 hemos
mejorada el RedisTagAwareAdapter
de la siguiente forma:
- Hemos bajado el requerimiento de Redis a 2.8 y ya no requerimos una versión
específica de
phpredis
. - Hemos doblado el número de elementos que pueden estar asociados a una etiqueta hasta un máximo de 4 mil millones (que es el límite del tipo de dato Set de Redis).
- Hemos mejorado el proceso de invalidación para borrar también la propia etiqueta y evitar así un consumo innecesario de memoria.
- Hemos mejorado el rendimiento para hacer que el borrado solo requiera un round-trip en vez de dos.
Esta funcionalidad fue contribuida por Andre Rømcke en el pull request #33461.
Fuente: New in Symfony 4.4: Redis Cache Improvements
Comentarios
Proyectos Symfony destacados
La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.