为 Laravel 门面和 Eloquent 模型生成 PHPDoc 辅助文件,让 IDE 提供准确的代码补全。
mike-bronner/laravel-model-caching
Laravel 扩展包,自动缓存 Eloquent 模型与关联查询,数据变更时自动失效。
- Star
- 2,378
- Fork
- 231
- 未关闭 Issue
- 2
- 最近提交
- 4天前
这是什么?
Model Caching for Laravel 为 Eloquent 模型添加 Cachable 特性,使查询结果、预加载关联和聚合查询自动写入应用缓存,无需手动管理缓存键。模型创建、更新或删除时,相关缓存会自动清除,belongsToMany 的中间表变更也会处理。
该扩展支持 Redis、Memcached、APC 和 DynamoDB 缓存存储,并提供全局或按模型设置的 TTL、用于减少高频写入时频繁失效的冷却时间窗口、缓存不可用时回退到数据库的选项,以及多租户缓存前缀。使用 inRandomOrder() 或行锁的查询不会被缓存;预加载的关联模型若未使用该特性,会导致父查询也不被缓存。
需要 PHP 8.3 及以上版本与 Laravel 12 或 13。
核心功能
- 01通过 Trait 或基类为 Eloquent 查询、预加载和聚合添加缓存
- 02创建、更新、删除及中间表变更时自动清除相关缓存
- 03支持 Redis、Memcached、APC 和 DynamoDB 缓存存储
- 04提供全局及按模型设置的缓存过期时间(TTL)
- 05提供冷却时间窗口,减少高频写入带来的频繁失效
- 06缓存后端不可用时可回退到直接查询数据库
适用场景
- 加速读取密集、重复执行大量 Eloquent 查询的 Laravel 页面
- 无需手写 Cache::remember 和 forget 逻辑即可缓存模型数据
- 需要按租户隔离缓存的多租户 Laravel 应用
- 在 AWS 上使用 DynamoDB 作为托管缓存存储的应用
快速上手
- 1
使用 Composer 安装该包
composer require mike-bronner/laravel-model-caching - 2
在基础模型中添加 Cachable trait,并让其他模型继承它
- 3
可选:发布配置文件
php artisan modelCache:publish --config
使用前须知
- 需要 PHP 8.3+ 以及 Laravel 12 或 13。
- 不支持 Array、File 和 Database 缓存驱动。
- 如果预加载的关联模型未使用 Cachable,则整个查询都不会被缓存。
- DynamoDB 的失效只是逻辑上的,过期数据会保留到 TTL 清理之后。
标签
常见问题
- laravel-model-caching 是什么?
- Laravel 扩展包,自动缓存 Eloquent 模型与关联查询,数据变更时自动失效。 Model Caching for Laravel 为 Eloquent 模型添加 Cachable 特性,使查询结果、预加载关联和聚合查询自动写入应用缓存,无需手动管理缓存键。模型创建、更新或删除时,相关缓存会自动清除,belongsToMany 的中间表变更也会处理。
- laravel-model-caching 可以免费使用吗?用的什么许可证?
- laravel-model-caching 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- laravel-model-caching 还在维护吗?
- 活跃维护中。laravel-model-caching 最近一次提交是在 2026年11月3日。
- laravel-model-caching 适合用来做什么?
- 加速读取密集、重复执行大量 Eloquent 查询的 Laravel 页面 无需手写 Cache::remember 和 forget 逻辑即可缓存模型数据 需要按租户隔离缓存的多租户 Laravel 应用 在 AWS 上使用 DynamoDB 作为托管缓存存储的应用
- laravel-model-caching 怎么安装和运行?
- 使用 Composer 安装该包: composer require mike-bronner/laravel-model-caching 在基础模型中添加 Cachable trait,并让其他模型继承它 可选:发布配置文件: php artisan modelCache:publish --config
- 在哪里获取 laravel-model-caching?
- 源代码和安装说明在 GitHub 上:https://github.com/mike-bronner/laravel-model-caching
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.5万1194PHPMIT更新于 4天前
Laravel 慢查询捕获工具,自动分组重复查询,并借助 LLM 给出索引和改写建议,内置仪表盘。
41522PHPMIT更新于 19天前
一个鼓励快速开发与简洁务实设计的高级 Python Web 框架。
9.2万+162 本周3.6万PythonBSD-3-Clause更新于 21小时前
用 C 语言编写的低延迟缓存服务,兼容 Memcache、Redis/Valkey、HTTP 和 Postgres 协议,也可作为单个 C 文件嵌入项目。
252576CMIT更新于 3个月前
面向 .NET 的 Redis 客户端库,支持 Sentinel、Cluster,提供同步与异步接口。
2057423C#MIT更新于 23天前
一个语法简洁优雅的 PHP Web 应用框架,内置路由、ORM、迁移、队列和实时广播等功能。
8.5万+96 本周2.6万Blade无许可证更新于 8天前