关于 laravel-performance-caching
介绍 Laravel 框架缓存、值与查询结果缓存的开发技能,涵盖缓存键、有效期、失效处理及标签策略,帮助兼顾数据新鲜度与正确性。
主要功能
- 01缓存框架路由和配置
- 02缓存值与查询结果
- 03设置缓存有效期
- 04使用稳定且带作用域的缓存键
- 05通过标签失效相关条目
适用场景
- 01缓存文章查询
- 02缓存按租户和语言划分的查询结果
- 03写入后清除相关缓存条目
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ noartem/ skills --skill laravel-performance-caching安装后在 Claude Code 中输入/laravel-performance-caching确认已加载。
详细介绍
缓存基础
框架缓存
php artisan route:cache
php artisan config:cache
php artisan view:cache
在部署中需要时,使用相应的 clear 命令清除缓存。
值和查询
Cache::remember("post:{$id}", 600, fn () => Post::findOrFail($id));
- 根据新鲜度要求选择 TTL
- 对正确性要求较高时,在写入时显式使缓存失效
模式和策略
// Stable keys and scopes (e.g., tenant, locale)
Cache::remember("tenant:{$tenantId}:users:index:page:1", now()->addMinutes(5), function () {
return User::with('team')->paginate(50);
});
// Tags (supported drivers) for grouped invalidation
Cache::tags(['users'])->remember('users.index.page.1', now()->addMinutes(5), fn () => ...);
Cache::tags(['users'])->flush();
// Locks to ensure exclusive expensive work
Cache::lock('reports:daily', 30)->block(5, function () {
generateReports();
});
- 使用稳定且带命名空间的键;包含所有适用的作用域维度
- 优先使用
remember(),以防止惊群效应 - 使用缓存标签(如果支持),以便一起使相关条目失效
- 没有计划时,避免缓存高度动态或特定于用户的数据
- 在缓存代码旁记录触发缓存失效的条件
评论
支持 Markdown