Weave Code
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 Laravel Package

symfony/cache

Symfony Cache is a fast, low-overhead caching component with PSR-6 implementations and adapters for common backends. Includes a PSR-16 adapter plus support for symfony/cache-contracts CacheInterface and TagAwareCacheInterface.

View on GitHub
Deep Wiki
Context7

Provides extended PSR-6, PSR-16 (and tags) implementations

Frequently asked questions about Cache
How do I replace Laravel’s default cache drivers with Symfony’s Cache component?
Update your `config/cache.php` to use Symfony’s adapters (e.g., `symfony_redis`). Replace the `driver` key with `symfony_<backend>` and configure options like `prefix` and `default_lifetime`. Laravel’s `Cache` facade will automatically use the new adapters if they implement `CacheInterface` or `TagAwareCacheInterface`.
Does Symfony Cache support Laravel’s route caching (`php artisan route:cache`)?
Yes, Symfony Cache’s `TagAwareCacheInterface` enables granular invalidation for route caching. Ensure your cache driver (e.g., Redis) is configured with tags, then run `php artisan route:cache` as usual. Invalidations via `Cache::tags('routes')->clear()` will work seamlessly.
Can I use Symfony Cache with Laravel’s Eloquent query caching?
Absolutely. Symfony Cache’s PSR-6 adapters integrate directly with Laravel’s `Cache::remember()` and `Cache::forever()`. For Eloquent, configure your cache driver in `config/database.php` under `connections.cache` or use the `Cache` facade with a tagged cache (e.g., `Cache::tags('queries')`).
What Laravel versions are compatible with Symfony Cache (v8.x)?
Symfony Cache v8.x is fully compatible with Laravel 10+ (PHP 8.1+). For Laravel 9, use Symfony Cache v6.4 LTS. The package aligns with Laravel’s PSR-6/PSR-16 contracts, so no core changes are needed. Always check the [Symfony docs](https://symfony.com/doc/current/components/cache.html) for version-specific notes.
How do I implement fallback caching (e.g., Redis → APCu → Filesystem)?
Use Symfony’s `ChainAdapter` to chain multiple adapters. Configure them in `config/cache.php` under `stores` with a priority order. For example: `'stores' => ['redis' => ['driver' => 'symfony_redis'], 'apcu' => ['driver' => 'symfony_apcu']]`, then set `'default' => 'chain'`. The adapter will fall back to the next in line if the primary fails.
Is Symfony Cache faster than Laravel’s built-in FileCache or RedisCache?
Yes, Symfony Cache is optimized for low overhead and includes performance improvements like lazy loading and efficient serialization. Benchmarks show it outperforms Laravel’s default drivers, especially for high-throughput applications. For Redis, ensure you’re using the `symfony_redis` adapter with connection pooling.
How do I handle cache tag invalidation in Laravel with Symfony Cache?
Use `Cache::tags('tag_name')->clear()` to invalidate all keys under a tag. For Laravel-specific tags (e.g., `config:clear` or `routes`), define them in your cache configuration. Symfony’s `TagAwareCacheInterface` ensures invalidations propagate across distributed instances if using Redis or Memcached.
Are there security risks when using Symfony Cache with Laravel’s Cache facade?
Minimal, but validate cache keys to prevent prefix collisions (e.g., `Cache::forget('malicious_key')`). Symfony’s `AbstractAdapter` includes safeguards, but always sanitize user-provided keys. For Redis/Memcached, ensure your Laravel `config/cache.php` sets a unique `prefix` (e.g., `laravel_`) to avoid conflicts with other services.
Can I monitor cache hit/miss ratios or memory usage in Laravel?
Symfony Cache provides metrics via `CacheItem::get()` and `CacheItemPool::getStats()`. For Laravel, extend the `Cache` facade or use a package like `spatie/laravel-cache-metrics` to log hit/miss ratios. Monitor memory usage via `memory_get_usage()` or Redis/Memcached CLI tools, as Symfony Cache itself doesn’t expose direct memory stats.
What are the alternatives to Symfony Cache for Laravel, and why choose this one?
Alternatives include `predis/predis` (Redis-only), `spatie/laravel-cache` (Laravel-specific), or `illuminate/cache` (default). Symfony Cache stands out for its **PSR-6/PSR-16 compliance**, **multi-backend support**, and **tag-aware invalidation**, which are critical for Laravel’s route/view/query caching. It’s also the foundation for Symfony’s ecosystem, ensuring long-term maintenance.
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.
codraw/graphviz
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata