PHPackages                             karnoweb/smart-cache - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Caching](/categories/caching)
4. /
5. karnoweb/smart-cache

ActiveLibrary[Caching](/categories/caching)

karnoweb/smart-cache
====================

Model-aware smart caching for Laravel with automatic invalidation, tag support, and stampede protection.

v1.2.0(4mo ago)040↓92.9%MITPHPPHP ^8.2

Since Feb 10Pushed 4mo agoCompare

[ Source](https://github.com/karnoweb/smart-cache)[ Packagist](https://packagist.org/packages/karnoweb/smart-cache)[ RSS](/packages/karnoweb-smart-cache/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (1)Dependencies (4)Versions (4)Used By (0)

Smart Cache
===========

[](#smart-cache)

کش وابسته به مدل برای لاراول با invalidation خودکار، پشتیبانی از تگ و محافظت در برابر cache stampede.

---

نصب
---

[](#نصب)

```
composer require karnoweb/smart-cache
```

---

استفادهٔ سریع
-------------

[](#استفادهٔ-سریع)

```
use Karnoweb\SmartCache\Facades\SmartCache;
use App\Models\User;

// ذخیره و خواندن
SmartCache::for(User::class)->key('features')->put($features);
$features = SmartCache::for(User::class)->key('features')->get();

// remember با محافظت در برابر stampede
$data = SmartCache::for(User::class)
    ->key('dashboard')
    ->remember(fn () => expensiveQuery());
```

با trait روی مدل:

```
use Karnoweb\SmartCache\Traits\HasModelCache;

class User extends Model
{
    use HasModelCache;
}
```

---

مستندات
-------

[](#مستندات)

مستندات به صورت ساختاریافته و قابل گسترش در پوشهٔ **docs** قرار دارد. برای فهرست کامل و دسترسی به همهٔ بخش‌ها به فایل زیر مراجعه کنید:

**[📚 فهرست مستندات (docs/0-index.md)](docs/0-index.md)**

بخش‌های فعلی:

\#موضوع1[نمای کلی](docs/1-overview.md) — ویژگی‌ها و معماری2[نصب و راه‌اندازی](docs/2-installation.md)3[پیکربندی](docs/3-configuration.md)4[استفاده و API](docs/4-usage.md)5[جزئیات فنی](docs/5-technical-details.md) — flush، race، TTL، stampede، محدودیت‌هابرای افزودن مباحث جدید در آینده، فایل‌های شماره‌دار جدید (مثلاً `6-testing.md`) را در `docs` اضافه کنید و لینک آن‌ها را در [docs/0-index.md](docs/0-index.md) ثبت کنید.

---

مقایسه با سایر روش‌ها
---------------------

[](#مقایسه-با-سایر-روش‌ها)

ویژگیLaravel Cache (خام)Laravel Tagged CacheSmart Cache**مدل‌محور**خیر — کلیدها دستی و پراکندهخیر — تگ دستیبله — کلیدها زیر prefix مدل**Flush به‌ازای «مدل»**خیر — باید کلیدها را بدانیبله — با flush تگبله — `SmartCache::for(User::class)->flush()`**Auto-invalidation با رویداد مدل**خیرخیربله (با trait و config)**Stampede protection در remember**خیر (خودت lock بزن)خیربله (قابل قطع با config)**کار با File/Database (بدون تگ)**بلهخیر — فقط Redis/Memcachedبله — با RegistryDriver و lock در صورت پشتیبانی استور**ولیدیشن کلید**خیرخیربله (طول، کاراکترهای ممنوع)**Default TTL متمرکز**از config کشاز config کشاز config پکیج (`default_ttl`)در مقایسه با پکیج‌هایی مثل **laravel-model-cache** (کش خود Eloquent): Smart Cache کش «دلخواه» برای مدل است (هر کلید/مقداری)، نه فقط کش کردن خود کوئری/مدل؛ و invalidation فعلاً در سطح «کل مدل» است، نه per-record (گرانولار در نسخه‌های بعدی هدف است).

---

تست
---

[](#تست)

```
composer install
./vendor/bin/phpunit
```

تست‌های واحد و یکپارچگی برای API، ولیدیشن کلید، RegistryDriver (array)، و یکپارچگی با Facade و استور array/file وجود دارد. برای جزئیات فنی (flush، race، stampede) به [docs/5-technical-details.md](docs/5-technical-details.md) مراجعه کنید.

---

قدم‌های بعدی (پیشنهادی)
-----------------------

[](#قدم‌های-بعدی-پیشنهادی)

- **ورژن اولیه**: برای ریپوهای تازه می‌توان با `v0.1.0` تگ زد و به [Packagist](https://packagist.org) فرستاد تا نصب با `composer require karnoweb/smart-cache` بدون تعریف repository ممکن شود.
- **Granular invalidation**: در نسخه‌های بعد می‌توان invalidation به‌ازای رکورد (per-record) اضافه کرد تا به‌جای flush تمام کش مدل، فقط کلیدهای وابسته به همان رکورد پاک شوند و مشکل flush تهاجمی کمتر شود.

---

نیازمندی‌ها
-----------

[](#نیازمندی‌ها)

- PHP 8.2+
- Laravel 10.x / 11.x / 12.x

---

لایسنس
------

[](#لایسنس)

MIT

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance74

Regular maintenance activity

Popularity9

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

3

Last Release

140d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a6a881e293406595d74617357c2477180a2a48cb6613acb3395652bd00147f78?d=identicon)[sajadsoft1](/maintainers/sajadsoft1)

---

Top Contributors

[![sajadsoft1](https://avatars.githubusercontent.com/u/10587549?v=4)](https://github.com/sajadsoft1 "sajadsoft1 (3 commits)")

---

Tags

laravelcachetagsmodel-cachesmart-cache

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/karnoweb-smart-cache/health.svg)

```
[![Health](https://phpackages.com/badges/karnoweb-smart-cache/health.svg)](https://phpackages.com/packages/karnoweb-smart-cache)
```

###  Alternatives

[spatie/laravel-responsecache

Speed up a Laravel application by caching the entire response

2.8k9.0M69](/packages/spatie-laravel-responsecache)[mike-bronner/laravel-model-caching

Automatic caching for Eloquent models.

2.4k91.0k1](/packages/mike-bronner-laravel-model-caching)[propaganistas/laravel-disposable-email

Disposable email validator

6023.0M6](/packages/propaganistas-laravel-disposable-email)[iazaran/smart-cache

Smart Cache is a caching optimization package designed to enhance the way your Laravel application handles data caching. It intelligently manages large data sets by compressing, chunking, or applying other optimization strategies to keep your application performant and efficient.

21111.6k](/packages/iazaran-smart-cache)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

44855.7k](/packages/harris21-laravel-fuse)[omaralalwi/lexi-translate

Laravel translation package with morph relationships and caching.

7413.7k5](/packages/omaralalwi-lexi-translate)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
