oxhq/cachelet-core
Core caching utilities for Laravel: a driver-agnostic cache layer with tagged entries, TTL helpers, remember-style callbacks, and consistent key generation. Provides the shared foundation for Cachelet packages and custom cache adapters.
Cachelet Core v0.1.0 is the first public cut of a read-only split from the oxhq/cachelet monorepo. That detail matters more than it looks: the code you composer require is generated, and all issues, PRs, and discussion live upstream at https://github.com/oxhq/cachelet. Start there, not at the split repo.
composer.json in the split repo before assuming oxhq/cachelet-core is the name to require.0.1.0 there are no semver guarantees. Use "0.1.0", not ^0.1 — a 0.2.0 is fully entitled to break you.config/cachelet.php in the package root. Those two files tell you more about the package's real surface than any release note will.php artisan vendor:publish --tag=cachelet-config. Read every key — the defaults reveal what the package expects to be doing.First use case: don't adopt it globally. Put it behind one expensive, well-understood read path — a dashboard aggregate, a slow third-party API call, or a heavy Eloquent query — so you can measure hit rate and invalidation behaviour against a baseline you already know. Breadth can come after you trust it.
new. Bind the Cachelet client/facade so tests can swap it and so config changes actually take effect. Static or direct instantiation defeats both.App\Support\Cache\... class means a rename in 0.2.0 costs you one file, not two hundred call sites.cachelet_key('orders.total', $tenantId)) and version them (v2:). When something is stale at 2am, being able to reason about the key from redis-cli is the difference between a five-minute fix and an hour.0.x is not a compatibility promise. Read the upstream changelog before every bump, and be aware the split repo may lag behind the monorepo. Treat "no release notes" as "unknown deltas."array store when config is missing — 100% hit rate locally, 0% in production, and no error to warn you. Log the resolved driver on boot in staging.env(. It's the fastest smoke test of any new Laravel package. Direct env() reads outside config files silently return null once php artisan config:cache runs, which is exactly what production does.extend()-style hook, or cache events are the correct home for metrics and tracing. If none exist, that's a meaningful fact about the package's maturity — and a reason to keep your wrapper defensive.How can I help you explore Laravel packages today?