1

根据 Laravel文档

缓存标签允许您在缓存中标记相关项目,然后刷新所有已分配给定标签的缓存值。您可以通过传入标记名称的有序数组来访问标记缓存。例如,让我们访问一个标记的缓存并将值放入缓存中:

Cache::tags(['people', 'artists'])->put('John', $john, $minutes);

Cache::tags(['people', 'authors'])->put('Anne', $anne, $minutes);

它们有什么用?

4

1 回答 1

6

正是文档中提到的。您可以使用标签对缓存进行分组,以便在需要时按组清除它们。这真的取决于你的需求。

例如,如果您正在缓存产品:

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();
于 2020-02-13T15:35:14.557 回答