m6web/redis-bundle
Symfony bundle that integrates Redis into your application with configurable client connections, session storage, caching, and profiling support. Simplifies wiring Redis services and managing multiple connections through Symfony configuration.
Verdict: low fit — recommend against adoption; treat as reference material only. m6web/redis-bundle is a Symfony bundle, not a framework-agnostic PHP library, and its stated purpose ("Symfony2 Bundle over predis") is a capability Laravel already provides natively. With 8 stars, 0 dependents, a single 2022 release, and a 0.28 score, there is no ecosystem signal to justify taking on the ownership burden.
Architecture fit. The package's integration surface is a Symfony Bundle subclass plus a DI extension, a semantic configuration tree, and compiler passes. Laravel's extension point is the service provider and its config repository — none of the bundle's wiring loads under Laravel. What remains underneath is a Predis configuration/connection factory with multi-connection, master/slave, and possibly sentinel semantics. That inner layer is the only reusable asset, and it is small.
Integration feasibility. You cannot composer require this into a Laravel app and get working behavior; the m6web_redis config keys, session handler registration, and profiler data collector are all Kernel-coupled. A viable path exists only as (a) use Laravel's native illuminate/redis with predis or phpredis, and (b) vendor individual classes if a specific topology feature is genuinely missing — wrapped behind our own interface.
Technical risk — high.
symfony/framework-bundle, symfony/dependency-injection, and symfony/config, introducing a parallel DI container and a Composer conflict surface against the Symfony components Laravel already pulls in (console, process, http-foundation, error-handler).Key questions.
ContainerInterface/Symfony Config?Illuminate\Redis does not — read/write splitting, consistent hashing, multi-cluster routing, monitor instrumentation?Stack fit. Weak at the bundle layer; neutral at the Predis layer. Laravel's RedisManager plus config/database.php redis blocks cover the common case: multiple named connections, cluster, prefix, serializer, retry/backoff. The bundle's only potential differentiators are read/write split and Symfony-side session/cache/profiler glue — the glue is worthless to us; the topology logic is the sole candidate for reuse.
Migration path. Choose explicitly:
config/database.php, use Redis::connection('name'), add Horizon for queue observability. Zero new dependencies, zero new ownership.app/Redis/, wrap them in a service provider, and bind to Illuminate\Contracts\Redis\Factory so application code depends on our contract, never on the package. Pin the fork commit, not a version range.Compatibility. Audit before committing effort: run composer why-not against the target Laravel/PHP matrix and confirm symfony/framework-bundle and symfony/dependency-injection do not pin versions Laravel transitively requires. Conflicts here are the most likely reason path 2 collapses. Also verify Predis major-version parity with what Laravel's predis client option installs, to avoid two Predis majors in one tree.
Sequencing.
Maintenance. We would own it outright. Upstream is effectively frozen, so bug fixes, PHP-version bumps, and security patches become our backlog. Budget a standing maintenance allocation for any adopted fork; native requires none.
Support. No vendor, no meaningful community, escalation path is "read the source." Acceptable for a thin config wrapper; unacceptable for hot-path infrastructure without a named internal owner agreed up front.
Scaling. Actual scaling behavior lives in Predis and Redis — pooling, sentinel failover, cluster slot routing. The bundle contributes configuration ergonomics, not throughput. Treat any performance claim as unverified until benchmarked against the native client on our workload; expect no material difference.
Failure modes.
Ramp-up. Low for native (the team already knows Redis:: and Horizon). High for the adapter path: engineers must read Symfony bundle/DI semantics and Laravel container binding, plus own the parity harness. Estimate one to two engineer-weeks for a trustworthy adapter, plus a permanent cognitive tax multiplied across onboarding. Given a 0.28 score and 21.15 opportunity, expected value does not clear that bar unless step 2 surfaces a specific, documented topology gap.
How can I help you explore Laravel packages today?