Redis - это популярное хранилище структуры данных в памяти, которое используется в качестве базы данных, кэша и посредника сообщений. Redis также является одним из самых популярных адаптеров компонента Symfony Cache, который был усовершенствован Symfony 4.4 путем добавления новых функций.
Добавлена поддержка Redis Sentinel
Redis Sentinel - это распределенная система, обеспечивающая высокую доступность Redis. Она позволяет создавать развертывание Redis, которое предотвращает определенные типы сбоев без вмешательства человека.
В Symfony 4.4 мы добавили его поддержку благодаря новой опции redis_sentinel
, которую вы можете добавить в DSN-соединение Redis:
<?php
use Symfony\Component\Cache\Adapter\RedisAdapter;
// устанавливает параметр 'redis_sentinel' как имя вашей группы сервисов
$client = RedisAdapter::createConnection(
'redis:?host[redis1:26379]&host[redis2:26379]&host[redis3:26379]&redis_sentinel=mymaster'
);
Вот и все! Единственный подводные камень - Sentinel также требует библиотеу Predis.
Улучшен Redis Tag Aware Adapter
Tag Aware Adapters используются в Symfony Cache для инвалидации кэшей на основе тегов вместо срока действия. В Symfony 4.4 RedisTagAwareAdapter
был улучшен несколькими способами:
- Снижены требования к Redis до версии 2.8, и нам больше не нужны определенные версии
phpredis
; - Увеличено ограничение с 2 миллиардов до 4 миллиардов ключей на тег, что является пределом типа данных Redis Set;
- Улучшен процесс инвалидации кеша, теперь при этом также удаляется ключ тега, чтобы не оставлять неиспользуемые теги, которые постепенно занимают все больше и больше памяти.
Оригинал статьи: https://symfony.com/blog/new-in-symfony-4-4-redis-cache-improvements