Laravel缓存标记的实际使用示例

Laravel缓存标记的实际使用示例,laravel,laravel-cache,Laravel,Laravel Cache,据拉威尔说 缓存标记允许您标记缓存中的相关项,然后刷新 已分配给给定标记的所有缓存值。您可以访问 通过传入标记名的有序数组来创建标记缓存。对于 例如,让我们访问标记的缓存并将值放入缓存: 它们的用途是什么?文档中提到的正是它们。您可以使用标记对缓存进行分组,以便在需要时按组清除缓存。这取决于你的需要 例如,如果您正在缓存产品: Cache::put('product_' . $product->id, $product, $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();

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

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

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();

不,这不是真实的示例,产品示例仅使用一个标记-如果对缓存产品使用单独的缓存存储,则结果相同。如何使用多个标记?不,这不是真实的示例,产品示例仅使用一个标记-如果对缓存产品使用单独的缓存存储,则结果相同。如何使用多个标签?