Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Cache Extra Bundle

Cache Extra Bundle Laravel Package

m6web/cache-extra-bundle

Symfony bundle that integrates m6web/cache-extra, adding tag-based cache invalidation and namespace support on top of PSR-6/Symfony cache pools. Useful when you need to clear groups of entries without flushing the whole backend; wired via bundle DI configuration.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Cache Extra Bundle
Is m6web/cache-extra-bundle compatible with Laravel?
No. It is a Symfony bundle (M6Web\Bundle\CacheExtraBundle) wired through Symfony's dependency injection container, so it ships no service provider, facade, config publishing, or middleware hooks that Laravel would need. Its Composer constraints target symfony/framework-bundle ^2.7|^3.x, which conflicts with the Symfony 6/7 components a modern Laravel app pulls in, so composer require will fail on resolution. In a Laravel codebase, treat it as a design reference rather than a dependency.
What problem does early expiration solve in a Symfony cache layer?
When a hot cache entry expires, many concurrent requests can miss at the same moment and stampede the backend, a pattern known as dog-piling. Early expiration lets the item refresh slightly before its TTL ends, so one process rebuilds the value while the others keep serving the near-expired one. That smooths load spikes and keeps response latency predictable under traffic.
How do I install and configure m6web/cache-extra-bundle in a Symfony application?
Install it with Composer, register the bundle in your Symfony kernel, and define your cache pool service and default TTLs in the bundle configuration. The bundle then exposes a CacheAdapter service you inject wherever caching logic lives. This flow assumes a Symfony 2.x/3.x style application and does not translate to Laravel's container or configuration model.
Which Symfony and PHP versions does m6web/cache-extra-bundle support?
The Composer constraints target symfony/http-foundation and symfony/framework-bundle ^2.7|^3.x, so it will not install alongside Symfony 6 or 7. The last tagged release is dated 2016-02-11 and the repository is archived, with no PHP 8 validation. Expect dynamic-property deprecations and removed-function errors if you attempt to run it on modern PHP.
Does the CacheAdapter work with any PSR-6 compatible cache pool?
Yes. It is built on Symfony's cache contracts, so any PSR-6 compatible Symfony pool (filesystem, Redis, APCu, and so on) can back the CacheAdapter. The bundle only adds TTL defaults and early-expiration behavior on top; storage, serialization, and eviction remain the pool's responsibility.
What is the CacheAdapter and CacheItem API in this bundle?
CacheAdapter is a lightweight wrapper registered as a service that returns CacheItem objects instead of making you call the pool directly. Each item accepts a TTL, falling back to the bundle's configured default, and supports early expiration settings. The point is to keep cache keys and lifetime rules out of controllers and services.
How does the profiler data collector help during development?
The optional data collector surfaces cache hits and misses in the Symfony profiler so you can verify that your keys and TTLs behave as intended under realistic traffic. It is a development aid and should be disabled in production. There is no equivalent wiring for it in Laravel, where Laravel Telescope or explicit X-Cache-Status and Age headers are the usual substitutes.
Is m6web/cache-extra-bundle still maintained and safe for production use?
No. The repository is archived, the last release was 2016-02-11, and it has zero dependents, which means no downstream triage and no security response path. Caching defects are high impact: a stale entry serves wrong content, and a bad key can cache private data publicly. Adopting an archived dependency for cache behavior is a disqualifying risk for most teams.
What should Laravel developers use instead of this bundle for response caching?
Use a maintained, Laravel-native layer such as spatie/laravel-responsecache, or Laravel's own cache helpers where stale-while-revalidate semantics are supported. For header policy, write a CachePolicy middleware that sets Cache-Control, s-maxage, stale-while-revalidate, and Vary per route group. That replaces the annotation-driven configuration this bundle depends on.
Can I port the early-expiration and purge pattern from this bundle into a Laravel app?
Yes, and reimplementing is the recommended path: read the source as a design reference rather than forking it. Build a middleware for per-route cache policy, a purge service behind an interface such as purge(array $keys) with a no-op driver for local development, and instrument X-Cache-Status and Age headers. Declare policy in route definitions or a config map instead of annotations, and get sign-off from the team that owns authentication, since caching personalized responses is the biggest failure mode.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console