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
Stash Bundle

Stash Bundle Laravel Package

tedivm/stash-bundle

Symfony bundle integrating the Stash caching library. Provides cache pool services, Web Profiler toolbar info, and Doctrine Common Cache integration. Supports multiple cache backends with simple YAML configuration and easy access to default or custom pools.

View on GitHub
Deep Wiki
Context7

Incorporates the Stash caching library into Symfony.

Frequently asked questions about Stash Bundle
Can I use TedivmStashBundle in Laravel, or is it strictly for Symfony?
TedivmStashBundle is designed for Symfony, but you can adapt it for Laravel using Laravel’s Symfony Bridge or by creating a custom service provider. The underlying Stash library is framework-agnostic, so the core caching logic remains reusable. However, Symfony-specific features like Web Profiler integration won’t work without additional setup.
What Laravel versions does TedivmStashBundle support?
TedivmStashBundle is not natively Laravel-compatible, but if you’re using Laravel 5.5+ with Symfony components (e.g., via Laravel/Symfony Bridge), you can integrate it. For Laravel 8/9, you’d need to manually bridge Symfony’s dependency injection. The bundle itself supports PHP 7.0+ and HHVM, which aligns with Laravel’s modern versions.
How do I configure multiple cache backends (e.g., Redis fallback to filesystem) in Symfony?
Use YAML configuration under `stash:` in `config.yml`. Define a composite driver like this: `drivers: [Redis, FileSystem]`. Stash will automatically fall back to the next driver if the primary fails. Example: `stash: drivers: [redis://127.0.0.1, filesystem:///tmp/cache]`. Ensure your Redis server is accessible and the filesystem directory is writable.
Does TedivmStashBundle work with Laravel’s cache facade or only Symfony’s container?
TedivmStashBundle is Symfony-centric and relies on Symfony’s service container. To use it in Laravel, you’d need to manually register the bundle’s services in Laravel’s container or create a facade wrapper. The Stash library itself is PSR-6 compliant, so you could also integrate it directly via Laravel’s PSR-6 cache implementations if you bypass the Symfony bundle.
How do I integrate TedivmStashBundle with Doctrine in Symfony?
Enable Doctrine integration by adding `doctrine: true` to your `stash:` configuration in `config.yml`. This automatically registers Stash as Doctrine’s metadata and query cache provider. Example: `stash: doctrine: true`. Ensure your cache drivers are properly configured, as Doctrine relies on the cache for performance-critical operations like query caching.
What are the performance implications of using in-memory caching in CLI scripts?
In-memory caching (default in Stash) can cause memory leaks in long-running CLI processes. Disable it by setting `inMemory: false` in your configuration. For CLI scripts, prefer dedicated drivers like Redis or Memcached, which persist data outside the process. Example: `stash: drivers: [redis://127.0.0.1], inMemory: false`.
How do I monitor cache hit/miss ratios in Symfony with TedivmStashBundle?
Enable tracking in development by setting `tracking: true` in your `stash:` configuration. This integrates with Symfony’s Web Profiler, showing cache statistics in the toolbar. For production, log cache metrics manually or use a monitoring tool like Blackfire. Example: `stash: tracking: %kernel.debug%` (defaults to true in dev).
What alternatives exist to TedivmStashBundle for Symfony caching?
Symfony’s built-in `symfony/cache` component (PSR-6 compliant) is a direct alternative, offering Redis, Memcached, and filesystem support. Doctrine also provides its own cache system. TedivmStashBundle stands out for composite drivers (e.g., Redis + filesystem fallback) and deeper Symfony integration, like Web Profiler support. Choose `symfony/cache` for simplicity or Stash for advanced driver combinations.
How do I handle cache key collisions when using multiple named pools in Symfony?
Stash supports multiple named pools (e.g., `stash.first` and `stash.second`) to avoid key collisions. Configure each pool separately in `config.yml` under `stash.pools:`. Example: `stash: pools: { first: { drivers: [Apc] }, second: { drivers: [Memcached] } }`. Access them via `$container->get('stash.first')` and `$container->get('stash.second')` to isolate cached data.
Is TedivmStashBundle compatible with Symfony 6/7, or should I avoid it?
TedivmStashBundle’s last release (2023-05-24) supports Symfony 3.4–5.x. While it may work with Symfony 6/7, some features (e.g., autowiring, new config formats) might require manual adjustments. Monitor the GitHub repo for updates or test thoroughly. For Symfony 6+, consider `symfony/cache` or wait for a StashBundle update, as Symfony’s ecosystem evolves rapidly.
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.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity