mcpField
L
laravel-performance-caching

laravel-performance-caching

github.com/noartem开发1376 次安装3 周前更新
代码仓库

关于 laravel-performance-caching

介绍 Laravel 框架缓存、值与查询结果缓存的开发技能,涵盖缓存键、有效期、失效处理及标签策略,帮助兼顾数据新鲜度与正确性。

主要功能

  1. 01缓存框架路由和配置
  2. 02缓存值与查询结果
  3. 03设置缓存有效期
  4. 04使用稳定且带作用域的缓存键
  5. 05通过标签失效相关条目

适用场景

  1. 01缓存文章查询
  2. 02缓存按租户和语言划分的查询结果
  3. 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