/
cloud-castle
/
memcached
Обзор
Документация
Войти
/
cloud-castle
/
memcached
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
9
CI/CD
Аналитика
main
benchmarks/matrix.php
96 строк
7 KB
Алексей Зорин
feat: адаптеры PSR-16 и PSR-6
28 июл 2026, 01:07
28 июл 2026, 01:07
f85c306
Код
Авторство
О чём код?
<?php declare(strict_types=1); /** * Матрицы возможностей и безопасности участников сравнения. * * Значения проверены по исходникам и документации каждого пакета на дату * генерации. Где возможность даёт не сам пакет, а расширение под ним, * отмечено «есть» — важно, что пользователю она доступна. * * @internal инструмент разработки */ return [ 'package' => 'cloud-castle/memcached', 'own' => 'cloud-castle/memcached', 'baselines' => ['ext-memcached'], 'labels' => [ 'cloud-castle/memcached' => 'CloudCastle', 'symfony/cache' => 'symfony', 'illuminate/cache' => 'illuminate', 'matthiasmullie/scrapbook' => 'scrapbook', 'phpfastcache/phpfastcache' => 'phpfastcache', 'tedivm/stash' => 'stash', 'laminas/laminas-cache' => 'laminas', 'ext-memcached' => 'ext-memcached¹', ], 'features' => [ 'capabilities' => [ 'Работает без расширений PHP (чистый PHP)', 'PSR-16 (SimpleCache) из коробки', 'PSR-6 (CacheItemPool) из коробки', 'Выбор бэкенда: чистый PHP или libmemcached', 'Автовыбор бэкенда по наличию расширения', 'Текстовый протокол', 'Бинарный протокол', 'Meta-команды Memcached 1.6+', 'Чтение TTL и CAS одним запросом', 'Консистентное хеширование ketama', 'Автоматическое переключение при отказе узла', 'Карантин упавших узлов', 'SASL-аутентификация', 'TLS-соединение', 'UNIX-сокеты', 'Оптимистическая блокировка (CAS)', 'Атомарные счётчики с созданием при промахе', 'append / prepend без чтения значения', 'Подпись значений (HMAC) против подмены', 'Белый список классов при восстановлении', 'Выбор формата сериализации (4 формата)', 'Выбор алгоритма сжатия (4 алгоритма)', 'Встроенный тестовый сервер без сети', 'Инъектируемые часы (детерминированный TTL)', 'Счётчики попаданий и промахов клиента', ], 'matrix' => [ 'cloud-castle/memcached' => [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], 'symfony/cache' => [false, true, true, false, false, true, true, false, false, true, false, false, true, true, true, false, false, false, false, true, true, true, false, true, false], 'illuminate/cache' => [false, true, false, false, false, true, true, false, false, true, false, false, true, true, true, false, false, false, false, false, false, false, false, false, false], 'matthiasmullie/scrapbook' => [false, true, true, false, false, true, true, false, false, true, false, false, true, true, true, true, false, false, false, false, false, false, false, false, false], 'phpfastcache/phpfastcache' => [false, true, true, false, false, true, true, false, false, true, false, false, true, true, true, false, false, false, false, false, true, false, false, false, true], 'tedivm/stash' => [false, false, true, false, false, true, false, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false], 'laminas/laminas-cache' => [false, true, true, false, false, true, true, false, false, true, false, false, true, true, true, true, false, false, false, false, true, true, false, false, false], 'ext-memcached' => [false, false, false, false, false, true, true, false, false, true, true, false, true, true, true, true, true, true, false, false, true, true, false, false, false], ], ], 'security' => [ 'capabilities' => [ 'Отказ на управляющие символы в ключе (инъекция команды)', 'Ключ не обрезается молча при превышении длины', 'Белый список классов при восстановлении значения', 'Лимит длины нагрузки при разборе (защита от исчерпания памяти)', 'Подпись значений HMAC с обнаружением подмены', 'Строгий режим: неподписанная запись отвергается', 'TLS с полной проверкой сертификата по умолчанию', 'Пароль SASL не попадает в дампы и трассировки', 'Учётные данные не сериализуются', 'Fail-safe: отказ узла не выдаётся за промах кэша', ], 'matrix' => [ 'cloud-castle/memcached' => [true, true, true, true, true, true, true, true, true, true], 'symfony/cache' => [true, true, false, false, false, false, true, false, false, false], 'illuminate/cache' => [false, false, false, false, false, false, true, false, false, false], 'matthiasmullie/scrapbook' => [true, false, false, false, false, false, true, false, false, false], 'phpfastcache/phpfastcache' => [true, false, false, false, false, false, true, false, false, false], 'tedivm/stash' => [false, false, false, false, false, false, false, false, false, false], 'laminas/laminas-cache' => [true, false, false, false, false, false, true, false, false, false], 'ext-memcached' => [true, false, false, false, false, false, true, false, false, false], ], ], 'footnotes' => [ '¹ Базовый уровень: расширение на C, не composer-библиотека. Показано для контекста и не претендует на победу среди PHP-пакетов.', 'Возможности проверены по исходникам и документации пакетов. Отметка «есть» ставится и тогда, когда возможность приходит из расширения под пакетом: пользователю она доступна.', ], ];