根据 Laravel文档
缓存标签允许您在缓存中标记相关项目,然后刷新所有已分配给定标签的缓存值。您可以通过传入标记名称的有序数组来访问标记缓存。例如,让我们访问一个标记的缓存并将值放入缓存中:
Cache::tags(['people', 'artists'])->put('John', $john, $minutes);
Cache::tags(['people', 'authors'])->put('Anne', $anne, $minutes);
它们有什么用?
根据 Laravel文档
缓存标签允许您在缓存中标记相关项目,然后刷新所有已分配给定标签的缓存值。您可以通过传入标记名称的有序数组来访问标记缓存。例如,让我们访问一个标记的缓存并将值放入缓存中:
Cache::tags(['people', 'artists'])->put('John', $john, $minutes);
Cache::tags(['people', 'authors'])->put('Anne', $anne, $minutes);
它们有什么用?
正是文档中提到的。您可以使用标签对缓存进行分组,以便在需要时按组清除它们。这真的取决于你的需求。
例如,如果您正在缓存产品:
Cache::put('product_' . $product->id, $product, $minutes);
让我们假设现在您要从缓存中删除所有产品。您必须使用模式product_{id}
一个一个地清除每个缓存键,但是如果您使用公共键标记它们(products
例如),您可以一次清除所有产品:
Cache::tags(['products'])->put('product_' . $product->id, $product, $minutes);
您还可以使用 artisan 命令清除特定标签:
php artisan cache:clear --tags=products
或以编程方式
Cache::tags('products')->flush();