Laravel Telescope:如何为特定缓存添加标签以追踪其行为
给Laravel Telescope中特定缓存添加标签的正确方法
要实现仅给指定缓存键打标签,你需要避开全局绑定标签的方式,针对单个缓存操作手动指定标签即可,以下是两种可行方案:
方法一:直接给目标缓存添加标签
在需要追踪的缓存操作前调用tags方法,仅为该缓存键添加自定义标签:
// 无需追踪的缓存,正常调用 $no_track_needed = cache()->remember("no_track_needed", 20, function() { return "Hello World"; }); // 需要追踪的缓存,添加专属标签 $track_this = cache()->tags(['telescope_track'])->remember("track_this", 120, function() { return "Hello Telescope"; });
方法二:自定义缓存宏(适合高频使用场景)
如果需要频繁给特定缓存打标签,可以定义缓存宏简化操作:
- 在
App\Providers\AppServiceProvider的boot方法中注册宏:
use Illuminate\Support\Facades\Cache; public function boot() { Cache::macro('trackable', function () { return $this->tags(['telescope_track']); }); }
- 业务代码中直接使用宏:
$track_this = cache()->trackable()->remember("track_this", 120, function() { return "Hello Telescope"; });
在Telescope中筛选目标缓存
完成标签添加后,进入Telescope的「缓存」板块,通过标签筛选器(不是搜索框)选择telescope_track标签,就能精准查看该标签下所有缓存的调用频次了。
内容的提问来源于stack exchange,提问作者Symbiose
相关产品推荐
相关产品推荐

