Redis – это популярное хранилище структуры данных в памяти, которое используется в качестве базы данных, кэша и посредника сообщений. Redis также является одним из самых популярных адаптеров компонента Symfony Cache, усовершенствовали его в Symfony 4.4 с помощью новых функций.
Добавлена поддержка Redis Sentinel
Redis Sentinel – это распределенная система, обеспечивающая высокую доступность Redis. Это позволяет создавать развертывание Redis, которое противостоит определенным типам сбоев без вмешательства человека.
В Symfony 4.4 добавили поддержку для него благодаря новой опции redis_sentinel
, которую вы можете добавить в DSN-соединение Redis:
use Symfony\Component\Cache\Adapter\RedisAdapter;
// set the 'redis_sentinel' parameter to the name of your service group
$client = RedisAdapter::createConnection(
'redis:?host[redis1:26379]&host[redis2:26379]&host[redis3:26379]&redis_sentinel=mymaster'
);
Вот и все! Единственное предостережение в том, что Sentinel также требуется библиотека Predis.
Улучшенный Redis Tag Aware Adapter
Адаптеры с поддержкой тегов используются в Symfony Cache для инвалидации кэша на основе тегов вместо срока действия. В Symfony 4.4 улучшили RedisTagAwareAdapter
несколькими способами:
- Снизили требование Redis до 2.8, и больше не нужны определенные версии phpredis
- Увеличили ограничение в 2 миллиарда ключей на тег до 4 миллиардов ключей на тег, что является пределом типа данных Redis Set
- Улучшили процесс инвалидации, чтобы также удалить ключ тега, чтобы не оставлять неиспользуемые теги, которые постепенно занимают все больше и больше памяти
- Ускорили операции удаления, сократив их до одного приема вместо двух