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

Publicada el

24 de octubre de 2019

Etiquetas

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.