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

Laravel Remember All Laravel Package

barchart/laravel-remember-all

A Laravel package that remembers all query string parameters across requests, making it easy to preserve filters, sorting, and pagination as users navigate away and back.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Which surfaces get a caching layer, and which are allowed to be stale. rememberAll() caches whole query chains with TTL-only expiry and no write-through invalidation, so enabling it is a product decision about acceptable staleness, not just a performance tweak. It fits catalog/listing pages, dashboards, aggregates, and read-mostly reference data. It does not fit anything where a user expects to see their own write immediately — profile edits, inventory counts, permissions, pricing at checkout, moderation queues.
  • Build vs. buy vs. borrow. This package's entire value is one method plus a global opt-in, layered over Laravel's native cache. That is days of work at most to reimplement as a repository-layer convention or a base query builder. The realistic framing is borrow the idea, not the dependency — read the source, port the pattern, and avoid inheriting an unmaintained package.
  • Sequencing the performance roadmap. Caching is the cheapest experiment before read replicas, denormalization, Elasticsearch, or a CDN contract. Running a scoped pilot with this on two or three hot endpoints answers "is this query actually hot, and does a 60-second cache move the number?" for a fraction of the cost of a platform investment. The answer determines whether the next roadmap item is caching infrastructure or something else entirely.
  • Standardizing cache placement. Today, remember() calls tend to accrete ad hoc in controllers and repositories with inconsistent TTLs. Deciding between model-level, repository-level, and global caching is an architecture decision worth making once; this package is a concrete proposal for the "global, config-driven" option and useful as a strawman even if rejected.
  • Framework upgrade planning and tech-debt budgeting. Archived since 2022, last release targeting Laravel 9. Any roadmap that includes Laravel 10/11/12 has a hard dependency: this package must be replaced, forked, or removed before that upgrade. If it exists in the codebase today, this is a scheduled line item, not a hypothetical.
  • Privacy and data-retention scope. Caching query results moves data outside the database's retention and erasure controls. If any candidate endpoint touches PII, "should this be cached" becomes a compliance question that needs an answer before engineering ships it.

When to Consider This Package

Consider it when:

  • You are on Laravel 8 or 9 with PHP 8+ and want a read-cache experiment running this sprint with a small, reversible diff.
  • The data is read-heavy and write-light, and a TTL window of tens of seconds to minutes is genuinely acceptable to the business owner of that surface.
  • You intend to treat it as a reference implementation or a spike, not a long-lived production dependency — or you are prepared to vendor/fork it (MIT license, small surface, trivially inspectable).
  • The queries are low-cardinality and repeat often (the cache key is derived from SQL plus bindings, so high-cardinality filters produce near-zero hit rates and unnecessary cache-store memory pressure).
  • Internal tooling, admin dashboards, or a prototype where "unmaintained" carries no real support obligation.

Look elsewhere when:

  • The package is archived. No Laravel 10+ support, no security patching, no bug fixes. On a maintained application, adopting it means you own it from day one — and you should price that as an internal fork, not a dependency install.
  • Signals of ecosystem health matter to your review process. 29 stars, a single vendor, and a low overall assessment score mean no community validation and effectively no bus factor. Anything that lands in a revenue path should not depend on it.
  • You need what it deliberately does not do: per-model or tag-based invalidation, cache warming, stampede protection, or write-triggered purging. TTL expiry is the whole invalidation story.
  • Correctness or revenue depends on freshness — inventory, checkout pricing, entitlements, auth, permissions, anything where a stale read is a bug report or a refund.
  • The workload is write-heavy. Cache churn will erase the benefit and add a failure mode.
  • Your team has already standardized caching in a repository layer or on an actively maintained package. The marginal capability here is small enough that a second convention costs more than it saves.
  • A compliance review flags persisting query results — especially PII — outside the primary datastore's erasure path.

How to Pitch It (Stakeholders)

For executives. There is a lightweight, MIT-licensed Laravel package that caches database query results with a single call, aimed at read-heavy screens: catalogs, dashboards, listing pages. The appeal is speed to value — we can measure whether caching a given surface actually reduces latency and database load in days, without committing to a caching platform, a schema change, or a read-replica contract. The caveat is decisive: the package was archived in 2022 and has not tracked Laravel 10 or later. That makes it a prototyping tool, not a platform bet. Recommendation: green-light a time-boxed pilot on two or three non-critical read-heavy endpoints to produce a real latency number, and treat the package itself as disposable — we would reimplement the pattern internally rather than ship an unmaintained dependency into a revenue path. Staleness is a product call, not an engineering one: it works for catalogs and dashboards, and it is unsuitable anywhere a user expects to see their own update immediately.

For engineering. Mechanically it is a trait plus a global scope that wraps query execution in Cache::remember, keyed on the generated SQL and its bindings, with a configurable TTL and store. Two things to size before anyone touches it: key cardinality (binding-derived keys mean filtered, high-variance queries will thrash the cache and inflate Redis memory — instrument hit rate, do not assume it) and invalidation (there is none beyond TTL, so any endpoint backed by frequently-updated rows will serve stale data for the full window). Because the repo is archived, plan on reading the source and reimplementing the pattern in a base repository or query-builder macro rather than adding the dependency — it is a small surface and the port is straightforward. If you do pilot the package directly, pin an exact version, scope it to specific query builders rather than the global switch, diff any published config against what you commit, and hold a one-line rollback. Verify freshness expectations with the product owner of each surface before enabling, and keep query results containing PII out of scope until compliance signs off.

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.
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
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource